소스 검색

Import ICC after resize if linear colorspace was not used

DarthSim 6 년 전
부모
커밋
ac4f0e5dae
1개의 변경된 파일8개의 추가작업 그리고 4개의 파일을 삭제
  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)) {