diff --git a/processing/import_color_profile.go b/processing/import_color_profile.go index ff241cf9..8d00bda3 100644 --- a/processing/import_color_profile.go +++ b/processing/import_color_profile.go @@ -18,7 +18,7 @@ func importColorProfile(pctx *pipelineContext, img *vips.Image, po *options.Proc convertToLinear := config.UseLinearColorspace && (pctx.wscale != 1 || pctx.hscale != 1) - if convertToLinear || img.IsCMYK() { + if convertToLinear || !img.IsRGB() { if err := img.ImportColourProfile(); err != nil { return err } diff --git a/vips/vips.go b/vips/vips.go index 4acaefe3..49064e0e 100644 --- a/vips/vips.go +++ b/vips/vips.go @@ -600,8 +600,11 @@ func (img *Image) ApplyFilters(blurSigma, sharpSigma float32, pixelatePixels int return nil } -func (img *Image) IsCMYK() bool { - return C.vips_image_guess_interpretation(img.VipsImage) == C.VIPS_INTERPRETATION_CMYK +func (img *Image) IsRGB() bool { + format := C.vips_image_guess_interpretation(img.VipsImage) + return format == C.VIPS_INTERPRETATION_sRGB || + format == C.VIPS_INTERPRETATION_scRGB || + format == C.VIPS_INTERPRETATION_RGB16 } func (img *Image) ImportColourProfile() error {