options.go 966 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. package vips
  2. /*
  3. #include "options.h"
  4. */
  5. import "C"
  6. import (
  7. "github.com/imgproxy/imgproxy/v3/options"
  8. )
  9. func newLoadOptions(shrink float64, page, pages int) C.ImgproxyLoadOptions {
  10. return C.ImgproxyLoadOptions{
  11. Shrink: C.double(shrink),
  12. Thumbnail: 0, // Don't load thumbnail by default. Set it explicitly when needed.
  13. Page: C.int(page),
  14. Pages: C.int(pages),
  15. PngUnlimited: gbool(config.PngUnlimited),
  16. SvgUnlimited: gbool(config.SvgUnlimited),
  17. }
  18. }
  19. func newSaveOptions(_ *options.Options) C.ImgproxySaveOptions {
  20. return C.ImgproxySaveOptions{
  21. JpegProgressive: gbool(config.JpegProgressive),
  22. PngInterlaced: gbool(config.PngInterlaced),
  23. PngQuantize: gbool(config.PngQuantize),
  24. PngQuantizationColors: C.int(config.PngQuantizationColors),
  25. WebpPreset: C.VipsForeignWebpPreset(config.WebpPreset),
  26. WebpEffort: C.int(config.WebpEffort),
  27. AvifSpeed: C.int(config.AvifSpeed),
  28. JxlEffort: C.int(config.JxlEffort),
  29. }
  30. }