/
githubmirror
/
photoprism
Обзор
Документация
Войти
/
githubmirror
/
photoprism
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
develop
internal/thumb/filter.go
59 строк
1 KB
Michael Mayer
Clean-up: Drop imaging and pigo library integrations #5353 #5508 #668
01 апр 2026, 14:47
01 апр 2026, 14:47
812facc
Код
Авторство
О чём код?
package thumb import ( "github.com/davidbyttow/govips/v2/vips" "github.com/photoprism/photoprism/pkg/clean" ) // ResampleFilter represents a downscaling filter. type ResampleFilter string // Supported downscaling filter types. const ( ResampleAuto ResampleFilter = "auto" ResampleBlackman ResampleFilter = "blackman" ResampleLanczos ResampleFilter = "lanczos" ResampleCubic ResampleFilter = "cubic" ResampleLinear ResampleFilter = "linear" ResampleNearest ResampleFilter = "nearest" ) // String returns the downscaling filter name as string. func (a ResampleFilter) String() string { return string(a) } // Vips returns the downscaling filter for use with the "govips" library. func (a ResampleFilter) Vips() vips.Kernel { switch a { case ResampleBlackman: return vips.KernelLanczos3 case ResampleLanczos, ResampleAuto: return vips.KernelLanczos3 case ResampleCubic: return vips.KernelCubic case ResampleLinear: return vips.KernelLinear case ResampleNearest: return vips.KernelNearest default: return vips.KernelLanczos3 } } // ParseFilter returns a ResampleFilter based on the config value string and image library. func ParseFilter(name string, lib Lib) ResampleFilter { if lib == LibVips { return ResampleAuto } filter := ResampleFilter(clean.TypeLowerUnderscore(name)) switch filter { case ResampleBlackman, ResampleLanczos, ResampleCubic, ResampleLinear, ResampleNearest: return filter default: return ResampleLanczos } }