aboutsummaryrefslogtreecommitdiff
path: root/weed/images
diff options
context:
space:
mode:
authorbyunghwa.yun <combine@combineads.co.kr>2021-07-24 14:26:40 +0900
committerbyunghwa.yun <combine@combineads.co.kr>2021-07-24 14:26:40 +0900
commit2595f269d16f09682ff6531a0e545283d0964468 (patch)
treefc2c1ef27707ecf1ae2d67895027780dd83fde9a /weed/images
parentbdb632fa62bf8d198a672e3a2bc88ffeb4e2e5ba (diff)
downloadseaweedfs-2595f269d16f09682ff6531a0e545283d0964468.tar.xz
seaweedfs-2595f269d16f09682ff6531a0e545283d0964468.zip
Add the webp image type
Diffstat (limited to 'weed/images')
-rw-r--r--weed/images/resizing.go5
-rw-r--r--weed/images/resizing_test.go23
-rw-r--r--weed/images/sample2.webpbin0 -> 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
new file mode 100644
index 000000000..1fdfc01fc
--- /dev/null
+++ b/weed/images/sample2.webp
Binary files differ