Go实战项目:打造一个七牛云图片处理服务

Go语言中文网 今天

以下文章来源于Go招聘 ,作者欧盆索思

你是否经常有这样的需求:

裁剪图片

转换图片格式

旋转图片

。。。

你可能要说这些现在各种工具很容易可以实现呀。的确如此。

不过,如果这些让你通过程序实现呢?比如七牛云图片的很多功能。

今天推荐给你一个这样的项目,其实是 Go 语言的一个工具库,可以通过它快速的搭建一个图片服务器,实现类似七牛云对图片的处理功能。

项目地址:https://github.com/pierrre/imageserver,Star 数 1.9k+。

一个简单的示例:

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)

}

}

项目提供了一个高级示例,实现了:缩放、旋转、裁剪等。

(0)

相关推荐

  • Open3d学习计划—7(RGBD测程法)

    Open3D是一个开源库,支持快速开发和处理3D数据.Open3D在c++和Python中公开了一组精心选择的数据结构和算法.后端是高度优化的,并且是为并行化而设置的. 本系列学习计划有Blue同学作 ...

  • Open3d学习计划(2)

    Open3D是一个开源库,支持快速开发和处理3D数据.Open3D在c++和Python中公开了一组精心选择的数据结构和算法.后端是高度优化的,并且是为并行化而设置的. 本系列学习计划有Blue同学作 ...

  • Open3d学习计划—6(RGBD图像)

    Open3D是一个开源库,支持快速开发和处理3D数据.Open3D在c++和Python中公开了一组精心选择的数据结构和算法.后端是高度优化的,并且是为并行化而设置的. 本系列学习计划有Blue同学作 ...

  • 开源OCR识别库

    最近在github上面看到一个开源的ocr文字识别库,感觉效果还可以,所以在这里介绍一下,这个项目的原地址在:https://github.com/tesseract-ocr/tesseract. t ...

  • 打造一个极简风的茶室,只需要七步

    茶以悦己,茶以贵人. 寻找一个以茶命名, 回归本质之美,自然.恬静. 和谐的茶室空间. 唤醒人们对品质生活的追求. 回归 大城市,喧闹嘈杂,让人浮躁.烦心:大自然,鸟语花香,身处其中,恬静.舒心-大自 ...

  • “七招”打造一个好的班集体,让你轻松做班主任

    "七招"打造一个好的班集体,让你轻松做班主任 玩学悟践2021-04-29 15:52:28 班主任是学校教育学生的中坚力量,班主任工作的成败决定了学校办学水平的高低,如何让班主任 ...

  • GUI实战|Python做一个文档图片提取软件

    作者丨GUI工作组 来源丨经授权转自 早起Python(ID:Zaoqi_Python) 本文将进一步讲解如何用Python提取PDF与Word中图片,并结合之前讲解过的GUI框架PysimpleGU ...

  • 从零构建一个电商实战项目!

    从零构建一个电商实战项目! Python爱好者社区 2021-07-26 推荐一款不错的Spring Cloud Alibaba微服务大厂项目!掌握它,能够直接写到简历里...啥也不说了.上图! 该电 ...

  • 一个企业级数据挖掘实战项目|教育数据挖掘

    导读:本项目旨在探讨影响学生学业表现的人口统计学和家庭特征.本项目中,使用多种不平衡数据处理方法以及各种分类器,如决策树,逻辑回归,k近邻,随机森林和多层感知器的分类机器. Python研究者 教你如 ...

  • 波罗若:揭秘高手如何使用免费商业模式打造一个超级项目赚大钱的核心秘密?(百万分享六十二)

    波罗若总结了很多成功高手的案例得出三点: 1.产品 2.免费 3.增值 那么从上面这几点,我们看出,你要使用免费的商业模式这招,你首先要有一个产品,而且这个产品还要具备以下特点: 1.有需求 2.粘度 ...

  • 自动收款发货的赚钱项目,打造一个赚钱机器

    自动收款发货的赚钱项目,打造一个赚钱机器,哪怕是一天20元呢?终归是自动赚钱的,如果项目多了,收益确实不错,之前我也分享过类似的操作,为什么知识付费会火起来?因为学东西的时候,人会产生一种我很努力的假 ...

  • 如何打造一个成功的文旅景区夜游演艺项目:四大关键点

    目前,品牌化的大型文化演艺项目正在形成新的夜游亮点.部分优秀的文旅演艺项目随着演出的成功已经深入人心,逐渐成为了景区,甚至城市的核心吸引物,不断帮助景区聚集人气.创造收益. 演艺作为景区夜游项目中的重 ...

  • 《碧海黑帆》项目已经重启,将打造一个更为“Live”的游戏世界

    <碧海黑帆>是育碧在2017年E3大展上面拿出来的一款较为重磅的游戏,由育碧新加坡工作室领衔开发,它基本上就是把<刺客信条:黑旗>中颇受好评的海战玩法给独立成了一款游戏,改成开 ...