rsonghuster / image-compress

image compress

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

注:当前项目为 Serverless Devs 应用,由于应用中会存在需要初始化才可运行的变量(例如应用部署地区、服务名、函数名等等),所以不推荐直接 Clone 本仓库到本地进行部署或直接复制 s.yaml 使用,强烈推荐通过 s init 的方法或应用中心进行初始化,详情可参考部署 & 体验

image-compress 帮助文档

弹性高可用的图片压缩功能

前期准备

使用该项目,您需要有开通以下服务:

服务 备注
函数计算 FC 图片压测函数部署在函数计算

推荐您拥有以下的产品权限 / 策略:

服务/业务 权限 备注
函数计算 AliyunFCFullAccess 创建或者更新图片压缩函数

部署 & 体验

应用详情

我们把图片压缩逻辑封装成一个 python 的函数,可以快速发布函数计算平台,从而得到一个弹性高可用的图片压缩服务。

其中:

  • 对于 png 格式的图片, 使用了 pngquant 工具进行图片压缩处理

  • 对于其他格式, 使用 wand (ImageMagick) 对图片进行压缩处理

通过本应用,您可以部署一个图片压缩服务,比如 PNG 图片压缩效果如下:

使用文档

项目部署完成后, 进入应用的环境详情,跳转到指定的压缩函数:

对该函数就行调用, 其中 payload 是如下 json 格式

{
  "bucket": "mybucket",
  "region": "cn-hangzhou",
  "image": "src/a.png",
  "quality": 75,
  "dst": "dest"
}

其中

  • bucket: bucket 名字
  • region: 参数是可选的, 不填默认为和 FC 函数相同的 region
  • image: 表示图片在 bucket 上的 objectkey
  • quality: 压缩质量 0-100, 默认值为 75
  • dst: 保存压缩后图片的目录

开发者社区

您如果有关于错误的反馈或者未来的期待,您可以在 Serverless Devs repo Issues 中进行反馈和交流。如果您想要加入我们的讨论组或者了解 FC 组件的最新动态,您可以通过以下渠道进行:

微信公众号:serverless 微信小助手:xiaojiangwh 钉钉交流群:33947367

About

image compress

License:MIT License


Languages

Language:Python 91.9%Language:JavaScript 8.1%