aboutsummaryrefslogtreecommitdiff
path: root/weed/images
diff options
context:
space:
mode:
Diffstat (limited to 'weed/images')
-rw-r--r--weed/images/preprocess.go2
-rw-r--r--weed/images/resizing.go3
2 files changed, 4 insertions, 1 deletions
diff --git a/weed/images/preprocess.go b/weed/images/preprocess.go
index 0d6cb2d9e..968cda44f 100644
--- a/weed/images/preprocess.go
+++ b/weed/images/preprocess.go
@@ -17,7 +17,7 @@ func MaybePreprocessImage(filename string, data []byte, width, height int) (resi
ext := filepath.Ext(filename)
ext = strings.ToLower(ext)
switch ext {
- case ".png", ".gif":
+ case ".png", ".gif", ".webp":
return Resized(ext, data, width, height)
case ".jpg", ".jpeg":
data = FixJpgOrientation(data)
diff --git a/weed/images/resizing.go b/weed/images/resizing.go
index 7e4a88c42..e644570cb 100644
--- a/weed/images/resizing.go
+++ b/weed/images/resizing.go
@@ -6,6 +6,7 @@ import (
"image/gif"
"image/jpeg"
"image/png"
+ "github.com/chai2010/webp"
"github.com/chrislusf/seaweedfs/weed/glog"
"github.com/disintegration/imaging"
@@ -37,6 +38,8 @@ func Resized(ext string, data []byte, width, height int) (resized []byte, w int,
jpeg.Encode(&buf, dstImage, nil)
case ".gif":
gif.Encode(&buf, dstImage, nil)
+ case ".webp":
+ webp.Encode(&buf, dstImage, &webp.Options{Quality: 70})
}
return buf.Bytes(), dstImage.Bounds().Dx(), dstImage.Bounds().Dy()
} else {