fix(#35): save webp

master
Tomas Aparicio 11 years ago
parent d4bb89a74e
commit 720c2bcf94

@ -72,35 +72,45 @@ func TestInvalidRotate(t *testing.T) {
}
func TestConvert(t *testing.T) {
width, height := 640, 480
width, height := 300, 240
formats := [3]ImageType{PNG, WEBP, JPEG}
files := []string{
"test.jpg",
"test.png",
"test.webp",
}
options := Options{Width: width, Height: height, Crop: true, Type: PNG}
img, err := os.Open("fixtures/test.jpg")
for _, file := range files {
img, err := os.Open("fixtures/" + file)
if err != nil {
t.Fatal(err)
}
defer img.Close()
buf, err := ioutil.ReadAll(img)
if err != nil {
t.Fatal(err)
}
img.Close()
for _, format := range formats {
options := Options{Width: width, Height: height, Crop: true, Type: format}
newImg, err := Resize(buf, options)
if err != nil {
t.Errorf("Resize(imgData, %#v) error: %#v", options, err)
}
if DetermineImageType(newImg) != PNG {
if DetermineImageType(newImg) != format {
t.Fatal("Image is not png")
}
size, _ := Size(newImg)
if size.Height != height || size.Width != width {
t.Fatal("Invalid image size")
t.Fatalf("Invalid image size: %dx%d", size.Width, size.Height)
}
}
}
Write("fixtures/test_out.png", newImg)
}
func TestResizePngWithTransparency(t *testing.T) {

@ -25,6 +25,12 @@ typedef struct {
double Background[3];
} WatermarkOptions;
void
vips_enable_cache_set_trace()
{
vips_cache_set_trace(TRUE);
};
int
vips_affine_interpolator(VipsImage *in, VipsImage **out, double a, double b, double c, double d, VipsInterpolate *interpolator)
{
@ -144,7 +150,7 @@ vips_pngsave_bridge(VipsImage *in, void **buf, size_t *len, int strip, int compr
int
vips_webpsave_bridge(VipsImage *in, void **buf, size_t *len, int strip, int quality, int interlace)
{
return vips_webpsave_buffer(in, buf, len, "strip", strip, "Q", quality, "optimize_coding", TRUE, "interlace", interlace, NULL);
return vips_webpsave_buffer(in, buf, len, "strip", strip, "Q", quality, NULL);
};
int
@ -243,9 +249,3 @@ vips_watermark(VipsImage *in, VipsImage **out, WatermarkTextOptions *to, Waterma
g_object_unref(base);
return 0;
};
void
vips_enable_cache_set_trace()
{
vips_cache_set_trace(TRUE);
};

Loading…
Cancel
Save