Second try, watermarking memory issue fix

This commit is contained in:
Albert-Jan de Vries 2017-04-05 16:33:34 +02:00
parent 71db9b9765
commit 6ca6dd12de
4 changed files with 48 additions and 118 deletions

11
vips.go
View file

@ -596,15 +596,12 @@ func max(x int) int {
return int(math.Max(float64(x), 0))
}
func vipsDrawWatermark(image *C.VipsImage, watermark *C.VipsImage, o WatermarkImage) (*C.VipsImage, error) {
func vipsDrawWatermark(image *C.VipsImage, o WatermarkImage) (*C.VipsImage, error) {
var out *C.VipsImage
if !vipsHasAlpha(image) {
C.vips_add_band(image, &image, C.double(255.0))
}
if !vipsHasAlpha(watermark) {
C.vips_add_band(watermark, &watermark, C.double(255.0))
watermark, _, e := vipsRead(o.Buf)
if e != nil {
return nil, e
}
opts := vipsWatermarkImageOptions{C.int(o.Left), C.int(o.Top), C.float(o.Opacity)}