diff --git a/options.go b/options.go index 93a40bd..e4c88ae 100644 --- a/options.go +++ b/options.go @@ -5,14 +5,32 @@ package bimg #include "vips/vips.h" */ import "C" +import "errors" const ( // Quality defines the default JPEG quality to be used. Quality = 75 - // MaxSize defines the maximum pixels width or height supported. - MaxSize = 16383 ) +// maxSize defines maximum pixels width or height supported. +var maxSize = 16383 + +// MaxSize returns maxSize. +func MaxSize() int { + return maxSize +} + +// SetMaxSize sets maxSize. +func SetMaxsize(s int) error { + if s <= 0 { + return errors.New("Size must be higher than zero.") + } + + maxSize = s + + return nil +} + // Gravity represents the image gravity value. type Gravity int @@ -226,7 +244,7 @@ type Options struct { OutputICC string InputICC string Palette bool - // Speed defines the AVIF encoders CPU effort. Valid values are: + // Speed defines the AVIF encoders CPU effort. Valid values are: // 0-8 for AVIF encoding. // 0-9 for PNG encoding. Speed int diff --git a/vips.go b/vips.go index 5b8067a..d827257 100644 --- a/vips.go +++ b/vips.go @@ -564,7 +564,7 @@ func vipsExtract(image *C.VipsImage, left, top, width, height int) (*C.VipsImage var buf *C.VipsImage defer C.g_object_unref(C.gpointer(image)) - if width > MaxSize || height > MaxSize { + if width > maxSize || height > maxSize { return nil, errors.New("Maximum image size exceeded") } @@ -581,7 +581,7 @@ func vipsSmartCrop(image *C.VipsImage, width, height int) (*C.VipsImage, error) var buf *C.VipsImage defer C.g_object_unref(C.gpointer(image)) - if width > MaxSize || height > MaxSize { + if width > maxSize || height > maxSize { return nil, errors.New("Maximum image size exceeded") }