快速、简单、可扩展、便于操作的 HTTP 微服务,用于高级图像处理
https://github.com/h2non/imaginary
快速HTTP微服务写在 Go中,用于bimglibvips支持的高水平图像处理。 可用作私人或公共 HTTP 服务,用于大规模图像处理,为DockerFly.io提供一流的支持。它几乎是无依赖的,只使用净/http原生包没有额外的抽象更好的性能imaginary

支持作为简单HTTP API曝光的多个图像操作,并具有其他可选功能,如API 令牌授权、URL 签名保护、HTTP 流量限制策略和针对 Web 客户端的 CORS 支持
imaginary 可以阅读来自HTTP POST有效载荷服务器本地路径远程HTTP服务器的图像,支持JPEG、PNG、WEBP、HEIF,以及可选的TIFF、PDF、GIFSVG格式,如果编译有适当的库绑定。 libvips@8.3+
imaginary能够将图像输出为 JPEG、PNG 和 WEBP 格式,包括跨图像的透明转换。
imaginary还可选地支持图像占位符回退机制,以防图像处理错误或服务器出现任何性质的错误,因此服务器始终会根据 HTTP 响应主体和内容 MIME 类型返回图像,即使出现错误,也可透明地匹配预期的图像大小和格式。
imaginary在内部使用,一个强大和高效的库写在C快速图像处理,这需要低内存占用,它通常比使用最快的图像魔术和图形魔术设置或去原生包快4倍,在某些情况下,它甚至8倍快处理JPEG图像。libvips``image

支持图像操作

  • 调整
  • 扩大
  • 作物
  • 智能作物(基于内置的利比普斯算法))
  • 旋转(基于 EXIF 方向自动旋转)
  • 通过进一步的图像转换自动转速(基于 EXIF 元数据取向)
  • 翻转(基于EXIF元数据的自动翻转)
  • 失败
  • 缩放
  • 缩略 图
  • 适合
  • 在单个 HTTP 请求中,多个独立图像转换的管道
  • 可配置图像区域提取
  • 嵌入/扩展图像,支持多种模式(白色、黑色、镜像、复制或自定义背景颜色)
  • 水印(可按文本自定义)
  • 水印图像
  • 自定义输出颜色空间(RGB,黑色/白色…)
  • 格式转换(附加质量/压缩设置)
  • 信息(图像大小、格式、方向、字母。。。)
  • 如果出现错误,可使用默认或自定义占位符图像进行回复。
  • 模糊
  1. docker run -p 9000:9000 h2non/imaginary -cors -gzip
  2. docker run -p 9000:9000 h2non/imaginary -p 9000 -enable-url-source
  3. docker run -p 9000:9000 h2non/imaginary -p 900 -mount /volume/images