use linear thumb resample filter

This commit is contained in:
Gani Georgiev 2023-12-03 20:56:14 +02:00
parent 04024cb6b7
commit f57d38f529
2 changed files with 8 additions and 5 deletions

View File

@ -53,6 +53,8 @@
- Added a default red colored Stderr output for the commands errors. - Added a default red colored Stderr output for the commands errors.
You can now also silence individually custom commands errors using the `cobra.Command.SilenceErrors` field. You can now also silence individually custom commands errors using the `cobra.Command.SilenceErrors` field.
- Slightly speed up (~10%) the thumbs generation by changing from cubic (`CatmullRom`) to bilinear (`Linear`) resampling filter (_the quality difference is very little_).
## v0.20.0-rc3 ## v0.20.0-rc3

View File

@ -425,25 +425,26 @@ func (s *System) CreateThumb(originalKey string, thumbKey, thumbSize string) err
return decodeErr return decodeErr
} }
r.Close()
var thumbImg *image.NRGBA var thumbImg *image.NRGBA
if width == 0 || height == 0 { if width == 0 || height == 0 {
// force resize preserving aspect ratio // force resize preserving aspect ratio
thumbImg = imaging.Resize(img, width, height, imaging.CatmullRom) thumbImg = imaging.Resize(img, width, height, imaging.Linear)
} else { } else {
switch resizeType { switch resizeType {
case "f": case "f":
// fit // fit
thumbImg = imaging.Fit(img, width, height, imaging.CatmullRom) thumbImg = imaging.Fit(img, width, height, imaging.Linear)
case "t": case "t":
// fill and crop from top // fill and crop from top
thumbImg = imaging.Fill(img, width, height, imaging.Top, imaging.CatmullRom) thumbImg = imaging.Fill(img, width, height, imaging.Top, imaging.Linear)
case "b": case "b":
// fill and crop from bottom // fill and crop from bottom
thumbImg = imaging.Fill(img, width, height, imaging.Bottom, imaging.CatmullRom) thumbImg = imaging.Fill(img, width, height, imaging.Bottom, imaging.Linear)
default: default:
// fill and crop from center // fill and crop from center
thumbImg = imaging.Fill(img, width, height, imaging.Center, imaging.CatmullRom) thumbImg = imaging.Fill(img, width, height, imaging.Center, imaging.Linear)
} }
} }