Files
imgproxy/processing/padding.go
Victor Sokolov 3d14c85de3 IMG-13: http.Header, *ImageData -> ImageData (#1473)
* ImageData.Headers()

* *ImageData -> ImageData

* withmatt -> httpheaders of our own

* .Clone() headers, nil

* NewFromBytesWithFormat -> nil

* svg.go -> do not Clone()
2025-08-01 15:44:21 +02:00

27 lines
768 B
Go

package processing
import (
"github.com/imgproxy/imgproxy/v3/imagedata"
"github.com/imgproxy/imgproxy/v3/imath"
"github.com/imgproxy/imgproxy/v3/options"
"github.com/imgproxy/imgproxy/v3/vips"
)
func padding(pctx *pipelineContext, img *vips.Image, po *options.ProcessingOptions, imgdata imagedata.ImageData) error {
if !po.Padding.Enabled {
return nil
}
paddingTop := imath.ScaleToEven(po.Padding.Top, pctx.dprScale)
paddingRight := imath.ScaleToEven(po.Padding.Right, pctx.dprScale)
paddingBottom := imath.ScaleToEven(po.Padding.Bottom, pctx.dprScale)
paddingLeft := imath.ScaleToEven(po.Padding.Left, pctx.dprScale)
return img.Embed(
img.Width()+paddingLeft+paddingRight,
img.Height()+paddingTop+paddingBottom,
paddingLeft,
paddingTop,
)
}