scale.go 498 B

1234567891011121314151617181920
  1. package processing
  2. import (
  3. "github.com/imgproxy/imgproxy/v3/imagedata"
  4. "github.com/imgproxy/imgproxy/v3/options"
  5. "github.com/imgproxy/imgproxy/v3/vips"
  6. )
  7. func scale(pctx *pipelineContext, img *vips.Image, po *options.ProcessingOptions, imgdata *imagedata.ImageData) error {
  8. if pctx.wscale == 1 && pctx.hscale == 1 {
  9. return nil
  10. }
  11. wscale, hscale := pctx.wscale, pctx.hscale
  12. if (pctx.angle+po.Rotate)%180 == 90 {
  13. wscale, hscale = hscale, wscale
  14. }
  15. return img.Resize(wscale, hscale)
  16. }