v0.0.495
All checks were successful
Build Docker and Deploy / Run goext test-suite (push) Successful in 3m44s
All checks were successful
Build Docker and Deploy / Run goext test-suite (push) Successful in 3m44s
This commit is contained in:
parent
b78a468632
commit
133aeb8374
@ -1,5 +1,5 @@
|
|||||||
package goext
|
package goext
|
||||||
|
|
||||||
const GoextVersion = "0.0.494"
|
const GoextVersion = "0.0.495"
|
||||||
|
|
||||||
const GoextVersionTimestamp = "2024-08-07T13:57:29+0200"
|
const GoextVersionTimestamp = "2024-08-07T14:00:02+0200"
|
||||||
|
@ -214,7 +214,7 @@ func ObjectFitImage(img image.Image, bbw float64, bbh float64, fit ImageFit, fil
|
|||||||
draw.Draw(newImg, newImg.Bounds(), &image.Uniform{C: fillColor}, image.Pt(0, 0), draw.Src)
|
draw.Draw(newImg, newImg.Bounds(), &image.Uniform{C: fillColor}, image.Pt(0, 0), draw.Src)
|
||||||
draw.Draw(newImg, newImg.Bounds(), img, image.Pt(0, 0), draw.Over)
|
draw.Draw(newImg, newImg.Bounds(), img, image.Pt(0, 0), draw.Over)
|
||||||
|
|
||||||
return newImg, newImg.Bounds(), nil
|
return newImg, PercentageRectangle{0, 0, 1, 1}, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
if fit == ImageFitContainCenter || fit == ImageFitContainTopLeft || fit == ImageFitContainTopRight || fit == ImageFitContainBottomLeft || fit == ImageFitContainBottomRight {
|
if fit == ImageFitContainCenter || fit == ImageFitContainTopLeft || fit == ImageFitContainTopRight || fit == ImageFitContainBottomLeft || fit == ImageFitContainBottomRight {
|
||||||
@ -266,7 +266,7 @@ func ObjectFitImage(img image.Image, bbw float64, bbh float64, fit ImageFit, fil
|
|||||||
draw.Draw(newImg, newImg.Bounds(), &image.Uniform{C: fillColor}, image.Pt(0, 0), draw.Src)
|
draw.Draw(newImg, newImg.Bounds(), &image.Uniform{C: fillColor}, image.Pt(0, 0), draw.Src)
|
||||||
draw.Draw(newImg, destBounds, img, image.Pt(0, 0), draw.Over)
|
draw.Draw(newImg, destBounds, img, image.Pt(0, 0), draw.Over)
|
||||||
|
|
||||||
return newImg, destBounds, nil
|
return newImg, calcRelativeRect(destBounds, newImg.Bounds()), nil
|
||||||
}
|
}
|
||||||
|
|
||||||
if fit == ImageFitStretch {
|
if fit == ImageFitStretch {
|
||||||
@ -293,10 +293,10 @@ func ObjectFitImage(img image.Image, bbw float64, bbh float64, fit ImageFit, fil
|
|||||||
draw.Draw(newImg, newImg.Bounds(), &image.Uniform{C: fillColor}, image.Pt(0, 0), draw.Src)
|
draw.Draw(newImg, newImg.Bounds(), &image.Uniform{C: fillColor}, image.Pt(0, 0), draw.Src)
|
||||||
draw.Draw(newImg, newImg.Bounds(), img, image.Pt(0, 0), draw.Over)
|
draw.Draw(newImg, newImg.Bounds(), img, image.Pt(0, 0), draw.Over)
|
||||||
|
|
||||||
return newImg, newImg.Bounds(), nil
|
return newImg, PercentageRectangle{0, 0, 1, 1}, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
return nil, image.Rectangle{}, exerr.New(exerr.TypeInternal, fmt.Sprintf("unknown image-fit: '%s'", fit)).Build()
|
return nil, PercentageRectangle{}, exerr.New(exerr.TypeInternal, fmt.Sprintf("unknown image-fit: '%s'", fit)).Build()
|
||||||
}
|
}
|
||||||
|
|
||||||
func VerifyAndDecodeImage(data io.Reader, mime string) (image.Image, error) {
|
func VerifyAndDecodeImage(data io.Reader, mime string) (image.Image, error) {
|
||||||
|
@ -1,5 +1,7 @@
|
|||||||
package imageext
|
package imageext
|
||||||
|
|
||||||
|
import "image"
|
||||||
|
|
||||||
type Rectangle struct {
|
type Rectangle struct {
|
||||||
X float64
|
X float64
|
||||||
Y float64
|
Y float64
|
||||||
@ -22,3 +24,12 @@ func (r PercentageRectangle) Of(ref Rectangle) Rectangle {
|
|||||||
H: r.H * ref.H,
|
H: r.H * ref.H,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func calcRelativeRect(inner image.Rectangle, outer image.Rectangle) PercentageRectangle {
|
||||||
|
return PercentageRectangle{
|
||||||
|
X: float64(inner.Min.X-outer.Min.X) / float64(outer.Dx()),
|
||||||
|
Y: float64(inner.Min.Y-outer.Min.Y) / float64(outer.Dy()),
|
||||||
|
W: float64(inner.Dx()) / float64(outer.Dx()),
|
||||||
|
H: float64(inner.Dy()) / float64(outer.Dy()),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user