diff options
| author | Vitaly Baev <dj@vitalybaev.ru> | 2017-03-31 09:56:00 +0300 |
|---|---|---|
| committer | Vitaly Baev <dj@vitalybaev.ru> | 2017-03-31 09:56:00 +0300 |
| commit | 7ab9160ee125d99b22686745f67059e8c3d12ef4 (patch) | |
| tree | 2ba3efef4b03c4c4a434bc54f313018acb182d6b | |
| parent | a337b844ec3f9912d212a24ec23a92057b9b7d69 (diff) | |
| download | seaweedfs-7ab9160ee125d99b22686745f67059e8c3d12ef4.tar.xz seaweedfs-7ab9160ee125d99b22686745f67059e8c3d12ef4.zip | |
WebP resize support
| -rw-r--r-- | weed/images/preprocess.go | 2 | ||||
| -rw-r--r-- | weed/images/resizing.go | 3 | ||||
| -rw-r--r-- | weed/server/volume_server_handlers_read.go | 2 |
3 files changed, 5 insertions, 2 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 { diff --git a/weed/server/volume_server_handlers_read.go b/weed/server/volume_server_handlers_read.go index 2e33b415c..3d15d790e 100644 --- a/weed/server/volume_server_handlers_read.go +++ b/weed/server/volume_server_handlers_read.go @@ -136,7 +136,7 @@ func (vs *VolumeServer) GetOrHeadHandler(w http.ResponseWriter, r *http.Request) } } } - if ext == ".png" || ext == ".jpg" || ext == ".gif" { + if ext == ".png" || ext == ".jpg" || ext == ".gif"|| ext == ".webp" { width, height := 0, 0 if r.FormValue("width") != "" { width, _ = strconv.Atoi(r.FormValue("width")) |
