mirror of
https://github.com/seaweedfs/seaweedfs.git
synced 2024-01-19 02:48:24 +00:00
Add the webp image type
This commit is contained in:
parent
bdb632fa62
commit
2595f269d1
|
@ -11,6 +11,8 @@ import (
|
||||||
"github.com/disintegration/imaging"
|
"github.com/disintegration/imaging"
|
||||||
|
|
||||||
"github.com/chrislusf/seaweedfs/weed/glog"
|
"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) {
|
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)
|
jpeg.Encode(&buf, dstImage, nil)
|
||||||
case ".gif":
|
case ".gif":
|
||||||
gif.Encode(&buf, dstImage, nil)
|
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()
|
return bytes.NewReader(buf.Bytes()), dstImage.Bounds().Dx(), dstImage.Bounds().Dy()
|
||||||
} else {
|
} else {
|
||||||
|
|
23
weed/images/resizing_test.go
Normal file
23
weed/images/resizing_test.go
Normal file
|
@ -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")
|
||||||
|
|
||||||
|
}
|
BIN
weed/images/sample2.webp
Normal file
BIN
weed/images/sample2.webp
Normal file
Binary file not shown.
After Width: | Height: | Size: 208 KiB |
Loading…
Reference in a new issue