1
0
mirror of https://github.com/imgproxy/imgproxy.git synced 2024-11-24 08:12:38 +02:00
imgproxy/processing/padding.go
2021-09-30 20:23:30 +06:00

27 lines
717 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.Scale(po.Padding.Top, po.Dpr)
paddingRight := imath.Scale(po.Padding.Right, po.Dpr)
paddingBottom := imath.Scale(po.Padding.Bottom, po.Dpr)
paddingLeft := imath.Scale(po.Padding.Left, po.Dpr)
return img.Embed(
img.Width()+paddingLeft+paddingRight,
img.Height()+paddingTop+paddingBottom,
paddingLeft,
paddingTop,
)
}