Go實(shí)戰(zhàn)項(xiàng)目:打造一個(gè)七牛云圖片處理服務(wù)
你是否經(jīng)常有這樣的需求:
裁剪圖片 轉(zhuǎn)換圖片格式 旋轉(zhuǎn)圖片 。。。
你可能要說這些現(xiàn)在各種工具很容易可以實(shí)現(xiàn)呀。的確如此。
不過,如果這些讓你通過程序?qū)崿F(xiàn)呢?比如七牛云圖片的很多功能。
今天推薦給你一個(gè)這樣的項(xiàng)目,其實(shí)是 Go 語言的一個(gè)工具庫(kù),可以通過它快速的搭建一個(gè)圖片服務(wù)器,實(shí)現(xiàn)類似七牛云對(duì)圖片的處理功能。
項(xiàng)目地址:https://github.com/pierrre/imageserver,Star 數(shù) 1.9k+。
一個(gè)簡(jiǎn)單的示例:
package main
import (
"net/http"
"github.com/pierrre/imageserver"
imageserver_http "github.com/pierrre/imageserver/http"
imageserver_http_gift "github.com/pierrre/imageserver/http/gift"
imageserver_http_image "github.com/pierrre/imageserver/http/image"
imageserver_image "github.com/pierrre/imageserver/image"
_ "github.com/pierrre/imageserver/image/gif"
imageserver_image_gift "github.com/pierrre/imageserver/image/gift"
_ "github.com/pierrre/imageserver/image/jpeg"
_ "github.com/pierrre/imageserver/image/png"
imageserver_testdata "github.com/pierrre/imageserver/testdata"
)
func main() {
http.Handle("/", &imageserver_http.Handler{
Parser: imageserver_http.ListParser([]imageserver_http.Parser{
&imageserver_http.SourceParser{},
&imageserver_http_gift.ResizeParser{},
&imageserver_http_image.FormatParser{},
&imageserver_http_image.QualityParser{},
}),
Server: &imageserver.HandlerServer{
Server: imageserver_testdata.Server,
Handler: &imageserver_image.Handler{
Processor: &imageserver_image_gift.ResizeProcessor{},
},
},
})
err := http.ListenAndServe(":8080", nil)
if err != nil {
panic(err)
}
}
項(xiàng)目提供了一個(gè)高級(jí)示例,實(shí)現(xiàn)了:縮放、旋轉(zhuǎn)、裁剪等。

如果你對(duì)圖片處理感興趣,可以研究下這個(gè)庫(kù)。
文末「閱讀原文」可直達(dá)項(xiàng)目首頁(yè)。
今天的項(xiàng)目大家覺得怎么樣嗎?如果你喜歡,請(qǐng)?jiān)谖恼碌撞苛粞?、點(diǎn)贊或關(guān)注轉(zhuǎn)發(fā),你的支持就是我持續(xù)更新的最大動(dòng)力!
推薦閱讀
評(píng)論
圖片
表情
