Pārlūkot izejas kodu

Simplify scale-on-load code

DarthSim 4 gadi atpakaļ
vecāks
revīzija
27fb29706f
1 mainītis faili ar 4 papildinājumiem un 9 dzēšanām
  1. 4 9
      process.go

+ 4 - 9
process.go

@@ -333,18 +333,13 @@ func transformImage(ctx context.Context, img *vipsImage, data []byte, po *proces
 	}
 
 	if !trimmed && scale != 1 && data != nil && canScaleOnLoad(imgtype, scale) {
-		if imgtype == imageTypeWEBP || imgtype == imageTypeSVG {
+		jpegShrink := calcJpegShink(scale, imgtype)
+
+		if imgtype != imageTypeJPEG || jpegShrink != 1 {
 			// Do some scale-on-load
-			if err = img.Load(data, imgtype, 1, scale, 1); err != nil {
+			if err = img.Load(data, imgtype, jpegShrink, scale, 1); err != nil {
 				return err
 			}
-		} else if imgtype == imageTypeJPEG {
-			// Do some shrink-on-load
-			if shrink := calcJpegShink(scale, imgtype); shrink != 1 {
-				if err = img.Load(data, imgtype, shrink, 1.0, 1); err != nil {
-					return err
-				}
-			}
 		}
 
 		// Update scale after scale-on-load