diff options
| author | byunghwa.yun <combine@combineads.co.kr> | 2021-07-24 14:26:40 +0900 |
|---|---|---|
| committer | byunghwa.yun <combine@combineads.co.kr> | 2021-07-24 14:26:40 +0900 |
| commit | 2595f269d16f09682ff6531a0e545283d0964468 (patch) | |
| tree | fc2c1ef27707ecf1ae2d67895027780dd83fde9a /weed/images | |
| parent | bdb632fa62bf8d198a672e3a2bc88ffeb4e2e5ba (diff) | |
| download | seaweedfs-2595f269d16f09682ff6531a0e545283d0964468.tar.xz seaweedfs-2595f269d16f09682ff6531a0e545283d0964468.zip | |
Add the webp image type
Diffstat (limited to 'weed/images')
| -rw-r--r-- | weed/images/resizing.go | 5 | ||||
| -rw-r--r-- | weed/images/resizing_test.go | 23 | ||||
| -rw-r--r-- | weed/images/sample2.webp | bin | 0 -> 212586 bytes |
3 files changed, 28 insertions, 0 deletions
diff --git a/weed/images/resizing.go b/weed/images/resizing.go index b048daa1c..20b9a5030 100644 --- a/weed/images/resizing.go +++ b/weed/images/resizing.go @@ -11,6 +11,8 @@ import ( "github.com/disintegration/imaging" "github.com/chrislusf/seaweedfs/weed/glog" + + _ "golang.org/x/image/webp" ) func Resized(ext string, read io.ReadSeeker, width, height int, mode string) (resized io.ReadSeeker, w int, h int) { @@ -47,6 +49,9 @@ func Resized(ext string, read io.ReadSeeker, width, height int, mode string) (re jpeg.Encode(&buf, dstImage, nil) case ".gif": gif.Encode(&buf, dstImage, nil) + case ".webp": + // Webp does not have golang encoder. + png.Encode(&buf, dstImage) } return bytes.NewReader(buf.Bytes()), dstImage.Bounds().Dx(), dstImage.Bounds().Dy() } else { diff --git a/weed/images/resizing_test.go b/weed/images/resizing_test.go new file mode 100644 index 000000000..d12f799d8 --- /dev/null +++ b/weed/images/resizing_test.go @@ -0,0 +1,23 @@ +package images + +import ( + "bytes" + "io/ioutil" + "os" + "testing" +) + +func TestResizing(t *testing.T) { + fname := "sample2.webp" + + dat, _ := ioutil.ReadFile(fname) + + resized, _, _ := Resized(".webp", bytes.NewReader(dat), 100, 30, "") + buf := new(bytes.Buffer) + buf.ReadFrom(resized) + + ioutil.WriteFile("resized1.png", buf.Bytes(), 0644) + + os.Remove("resized1.png") + +} diff --git a/weed/images/sample2.webp b/weed/images/sample2.webp Binary files differnew file mode 100644 index 000000000..1fdfc01fc --- /dev/null +++ b/weed/images/sample2.webp |
