Browse Source

Import ICC after resize if linear colorspace was not used

DarthSim 6 years ago
parent
commit
ac4f0e5dae
1 changed files with 8 additions and 4 deletions
  1. 8 4
      process.go

+ 8 - 4
process.go

@@ -320,13 +320,13 @@ func transformImage(ctx context.Context, img **C.VipsImage, data []byte, po *pro
 		return err
 	}
 
-	if err = vipsImportColourProfile(img); err != nil {
-		return err
-	}
-
 	convertToLinear := conf.UseLinearColorspace && (scale != 1 || po.Dpr != 1)
 
 	if convertToLinear {
+		if err = vipsImportColourProfile(img); err != nil {
+			return err
+		}
+
 		if err = vipsLinearColourspace(img); err != nil {
 			return err
 		}
@@ -419,6 +419,10 @@ func transformImage(ctx context.Context, img **C.VipsImage, data []byte, po *pro
 		if err = vipsFixColourspace(img); err != nil {
 			return err
 		}
+	} else {
+		if err = vipsImportColourProfile(img); err != nil {
+			return err
+		}
 	}
 
 	if po.Expand && (po.Width > int((*img).Xsize) || po.Height > int((*img).Ysize)) {