v0.0.488 fix wpdf with 16bpp images
All checks were successful
Build Docker and Deploy / Run goext test-suite (push) Successful in 4m9s

This commit is contained in:
Mike Schwörer 2024-07-22 15:16:28 +02:00
parent 49d423915c
commit 1310054121
Signed by: Mikescher
GPG Key ID: D3C7172E0A70F8CF
2 changed files with 10 additions and 2 deletions

View File

@ -1,5 +1,5 @@
package goext
const GoextVersion = "0.0.487"
const GoextVersion = "0.0.488"
const GoextVersionTimestamp = "2024-07-18T17:45:56+0200"
const GoextVersionTimestamp = "2024-07-22T15:16:28+0200"

View File

@ -7,6 +7,7 @@ import (
"gogs.mikescher.com/BlackForestBytes/goext/langext"
"image"
"image/color"
"image/draw"
"net/http"
)
@ -284,6 +285,13 @@ func (b *WPDFBuilder) Image(img *PDFImageRef, opts ...*PDFImageOpt) {
}
}
if dataimg.ColorModel() != color.RGBAModel && dataimg.ColorModel() != color.NRGBAModel {
// the image cannto be 16bpp or similar - otherwise fpdf errors out
dataImgRGBA := image.NewNRGBA(image.Rect(0, 0, dataimg.Bounds().Dx(), dataimg.Bounds().Dy()))
draw.Draw(dataImgRGBA, dataImgRGBA.Bounds(), dataimg, dataimg.Bounds().Min, draw.Src)
dataimg = dataImgRGBA
}
bfr, imgMime, err := imageext.EncodeImage(dataimg, compression)
if err != nil {
b.b.SetError(err)