1
0
mirror of https://github.com/imgproxy/imgproxy.git synced 2025-01-23 11:14:48 +02:00

Fix PNG bitdepth

This commit is contained in:
DarthSim 2021-03-31 12:41:00 +06:00
parent 7e4ae9d0ce
commit aa6edd13f6
2 changed files with 5 additions and 3 deletions

6
vips.c
View File

@ -1,6 +1,5 @@
#include "vips.h" #include "vips.h"
#include <string.h> #include <string.h>
#include <math.h>
#define VIPS_SUPPORT_SMARTCROP \ #define VIPS_SUPPORT_SMARTCROP \
(VIPS_MAJOR_VERSION > 8 || (VIPS_MAJOR_VERSION == 8 && VIPS_MINOR_VERSION >= 5)) (VIPS_MAJOR_VERSION > 8 || (VIPS_MAJOR_VERSION == 8 && VIPS_MINOR_VERSION >= 5))
@ -654,7 +653,10 @@ vips_pngsave_go(VipsImage *in, void **buf, size_t *len, int interlace, int quant
NULL NULL
); );
int bitdepth = ceil(log2(colors)); int bitdepth = 1;
if (colors > 16) bitdepth = 8;
else if (colors > 4) bitdepth = 4;
else if (colors > 2) bitdepth = 2;
return vips_pngsave_buffer( return vips_pngsave_buffer(
in, buf, len, in, buf, len,

View File

@ -2,7 +2,7 @@ package main
/* /*
#cgo pkg-config: vips #cgo pkg-config: vips
#cgo LDFLAGS: -s -w -lm #cgo LDFLAGS: -s -w
#cgo CFLAGS: -O3 #cgo CFLAGS: -O3
#include "vips.h" #include "vips.h"
*/ */