Forráskód Böngészése

Always import ICC if image is not RGB

DarthSim 2 éve
szülő
commit
cae8af9ac5
2 módosított fájl, 6 hozzáadás és 3 törlés
  1. 1 1
      processing/import_color_profile.go
  2. 5 2
      vips/vips.go

+ 1 - 1
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
 		}

+ 5 - 2
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 {