Add pure Go image processor with resize and format conversion

Implements the Processor interface using disintegration/imaging library.
Supports JPEG, PNG, GIF, WebP decoding and JPEG, PNG, GIF encoding.
Includes all fit modes: cover, contain, fill, inside, outside.
This commit is contained in:
2026-01-08 03:54:50 -08:00
parent 9629139989
commit 5462c9222c
4 changed files with 503 additions and 10 deletions

6
go.mod
View File

@@ -5,12 +5,14 @@ go 1.25.4
require (
git.eeqj.de/sneak/smartconfig v1.0.0
github.com/99designs/basicauth-go v0.0.0-20230316000542-bf6f9cbbf0f8
github.com/disintegration/imaging v1.6.2
github.com/getsentry/sentry-go v0.40.0
github.com/go-chi/chi/v5 v5.2.3
github.com/go-chi/cors v1.2.2
github.com/prometheus/client_golang v1.23.2
github.com/slok/go-http-metrics v0.13.0
go.uber.org/fx v1.24.0
golang.org/x/image v0.34.0
modernc.org/sqlite v1.42.2
)
@@ -124,10 +126,10 @@ require (
golang.org/x/exp v0.0.0-20250620022241-b7579e27df2b // indirect
golang.org/x/net v0.43.0 // indirect
golang.org/x/oauth2 v0.30.0 // indirect
golang.org/x/sync v0.16.0 // indirect
golang.org/x/sync v0.19.0 // indirect
golang.org/x/sys v0.36.0 // indirect
golang.org/x/term v0.34.0 // indirect
golang.org/x/text v0.28.0 // indirect
golang.org/x/text v0.32.0 // indirect
golang.org/x/time v0.12.0 // indirect
google.golang.org/api v0.237.0 // indirect
google.golang.org/genproto v0.0.0-20250505200425-f936aa4a68b2 // indirect