resize: move effects to more explicit methods

add method shouldApplyEffects and applyEffects
master
Thomas Meson 10 years ago
parent 6968a8a453
commit b74cbd5173

@ -88,6 +88,14 @@ func Resize(buf []byte, o Options) ([]byte, error) {
} }
} }
// Apply effects, if necessary
if shouldApplyEffects(o) {
image, err = applyEffects(image, o)
if err != nil {
return nil, err
}
}
// Add watermark, if necessary // Add watermark, if necessary
image, err = watermakImage(image, o.Watermark) image, err = watermakImage(image, o.Watermark)
if err != nil { if err != nil {
@ -135,8 +143,11 @@ func normalizeOperation(o *Options, inWidth, inHeight int) {
func shouldTransformImage(o Options, inWidth, inHeight int) bool { func shouldTransformImage(o Options, inWidth, inHeight int) bool {
return o.Force || (o.Width > 0 && o.Width != inWidth) || return o.Force || (o.Width > 0 && o.Width != inWidth) ||
(o.Height > 0 && o.Height != inHeight) || o.AreaWidth > 0 || o.AreaHeight > 0 || (o.Height > 0 && o.Height != inHeight) || o.AreaWidth > 0 || o.AreaHeight > 0
o.GaussianBlur.Sigma > 0 || o.GaussianBlur.MinAmpl > 0 }
func shouldApplyEffects(o Options) bool {
return o.GaussianBlur.Sigma > 0 || o.GaussianBlur.MinAmpl > 0
} }
func transformImage(image *C.VipsImage, o Options, shrink int, residual float64) (*C.VipsImage, error) { func transformImage(image *C.VipsImage, o Options, shrink int, residual float64) (*C.VipsImage, error) {
@ -173,6 +184,15 @@ func transformImage(image *C.VipsImage, o Options, shrink int, residual float64)
return nil, err return nil, err
} }
debug("Transform: shrink=%v, residual=%v, interpolator=%v",
shrink, residual, o.Interpolator.String())
return image, nil
}
func applyEffects(image *C.VipsImage, o Options) (*C.VipsImage, error) {
var err error
if o.GaussianBlur.Sigma > 0 || o.GaussianBlur.MinAmpl > 0 { if o.GaussianBlur.Sigma > 0 || o.GaussianBlur.MinAmpl > 0 {
image, err = vipsGaussianBlur(image, o.GaussianBlur) image, err = vipsGaussianBlur(image, o.GaussianBlur)
if err != nil { if err != nil {
@ -180,8 +200,8 @@ func transformImage(image *C.VipsImage, o Options, shrink int, residual float64)
} }
} }
debug("Transform: shrink=%v, residual=%v, interpolator=%v", debug("Effects: gaussSigma=%v, gaussMinAmpl=%v",
shrink, residual, o.Interpolator.String()) o.GaussianBlur.Sigma, o.GaussianBlur.MinAmpl)
return image, nil return image, nil
} }

Loading…
Cancel
Save