padding.go 571 B

1234567891011121314151617181920212223
  1. package processing
  2. import (
  3. "github.com/imgproxy/imgproxy/v3/imath"
  4. )
  5. func (p *Processor) padding(c *Context) error {
  6. if !c.PO.Padding.Enabled {
  7. return nil
  8. }
  9. paddingTop := imath.ScaleToEven(c.PO.Padding.Top, c.DprScale)
  10. paddingRight := imath.ScaleToEven(c.PO.Padding.Right, c.DprScale)
  11. paddingBottom := imath.ScaleToEven(c.PO.Padding.Bottom, c.DprScale)
  12. paddingLeft := imath.ScaleToEven(c.PO.Padding.Left, c.DprScale)
  13. return c.Img.Embed(
  14. c.Img.Width()+paddingLeft+paddingRight,
  15. c.Img.Height()+paddingTop+paddingBottom,
  16. paddingLeft,
  17. paddingTop,
  18. )
  19. }