MCPcopy Index your code
hub / github.com/cshum/imagor / export

Method export

processor/vipsprocessor/process.go:872–989  ·  view source on GitHub ↗
(
	image *vips.Image, format vips.ImageType, compression int, quality int, palette bool, bitdepth int, stripMetadata bool, lossless bool,
)

Source from the content-addressed store, hash-verified

870}
871
872func (v *Processor) export(
873 image *vips.Image, format vips.ImageType, compression int, quality int, palette bool, bitdepth int, stripMetadata bool, lossless bool,
874) ([]byte, error) {
875 if _, err := v.CheckResolution(image, nil); err != nil {
876 return nil, err
877 }
878 switch format {
879 case vips.ImageTypePng:
880 opts := &vips.PngsaveBufferOptions{
881 Q: quality,
882 Palette: palette,
883 Bitdepth: bitdepth,
884 Compression: compression,
885 }
886 if stripMetadata {
887 opts.Keep = vips.KeepNone
888 } else {
889 opts.Keep = vips.KeepAll
890 }
891 return image.PngsaveBuffer(opts)
892 case vips.ImageTypeWebp:
893 opts := &vips.WebpsaveBufferOptions{
894 Q: quality,
895 Lossless: lossless,
896 Effort: 4,
897 }
898 if stripMetadata {
899 opts.Keep = vips.KeepNone
900 } else {
901 opts.Keep = vips.KeepAll
902 }
903 return image.WebpsaveBuffer(opts)
904 case vips.ImageTypeJxl:
905 opts := &vips.JxlsaveBufferOptions{
906 Q: quality,
907 Lossless: lossless,
908 }
909 if stripMetadata {
910 opts.Keep = vips.KeepNone
911 } else {
912 opts.Keep = vips.KeepAll
913 }
914 return image.JxlsaveBuffer(opts)
915 case vips.ImageTypeTiff:
916 opts := &vips.TiffsaveBufferOptions{
917 Q: quality,
918 }
919 if stripMetadata {
920 opts.Keep = vips.KeepNone
921 } else {
922 opts.Keep = vips.KeepAll
923 }
924 return image.TiffsaveBuffer(opts)
925 case vips.ImageTypeGif:
926 opts := &vips.GifsaveBufferOptions{}
927 if stripMetadata {
928 opts.Keep = vips.KeepNone
929 } else {

Callers 2

TestProcessorFunction · 0.95
ProcessMethod · 0.95

Implementers 4

cacherProcessorimagor_test.go
Processorprocessor/vipsprocessor/processor.go
testProcessorserver/server_test.go
slowTestProcessorserver/server_test.go

Calls 1

CheckResolutionMethod · 0.95

Tested by 1

TestProcessorFunction · 0.76