图像处理服务器

问题描述:

我在找一个免费的,最好是开源的,http image processing server。即我会发送这样的请求:图像处理服务器

http://myimageserver/rotate?url=http%3A%2F%2F*.com%2FContent%2FImg%2F*-logo-250.png&angle=90 

它会返回该图像旋转。特点想:

  • 服务器端缓存
  • 几个操作/效果(如缩放,水印等)。多多益善。
  • POST支持提供图像(而不是服务器获取它)。
  • 不同的输出格式(PNG,JPEG等)。
  • 批量操作

它会像this,但*,少肥皂水。有没有这样的事情,还是我问得太多了?

+0

听起来像[imageresizing.net](http://imageresizing.net)。它是开源的,支持非常人性化的URL语法,提供服务器端磁盘缓存,缩放,水印,裁剪,旋转,PNG/Jpeg/GIF输出,并且可以执行批量操作。它目前不支持POST,但可以很容易地添加为插件。 – 2012-01-09 20:57:38

+0

@ComputerLinguist:听起来不错,随时可以发布它作为答案。 – 2012-01-09 21:10:42

+2

我想知道降薪计划是怎么回事......我认为这个问题对很多人来说非常清楚和有用。 – 2012-01-09 21:11:23

ImageResizing.Net library既是一个.NET库和IIS模块。这是一个图像服务器或图像库,无论你喜欢什么。

它是开源的,在MIT-style license之下,并且由插件支持。

它具有出色的性能,并支持3种管道:GDI +,Windows Imaging Components和FreeImage。 WIC是最快的,可以在15ms以内完成一些操作。它支持磁盘缓存(最多支持100万个文件),并且兼容CDN(Amazon CloudFront是理想的)。

它具有非常人性化的URL语法。防爆。 image.jpg?width=100&height=100&mode=crop

它支持调整大小,裁剪,填充,旋转,PNG/GIF/JPG输出,边框,水印,远程URL,Amazon S3,MS SQL,Amazon CloudFront,批量操作,图像过滤器,磁盘缓存以及其他许多其他酷的东西,像缝纫雕刻。

它不支持发送图像的POST,但使用插件很容易。你不通常想要存储通过POST传递的图像,而不是仅仅回复POST命令的结果?

[披露:我ImageResizer的作者]

您可以使用LibGDImageMagick轻松构建这样的服务。他们都有很多语言绑定。

+0

我了解这些...我正在寻找一个可以部署和使用的应用程序。 – 2008-09-28 23:49:16

虽然不是开箱即用的解决方案,但请查看ImageMagick。有一个perl interface它,所以结合一些相当简单的CGI脚本,或mod_perl,它应该做的伎俩。

+0

我知道ImageMagick ...我正在寻找一个可以部署和使用的应用程序。 – 2008-09-28 23:48:34

您可以使用Google App Engine进行此操作 - 它们提供图像处理例程,并可在一定范围内免费托管。

这里是做这样的事情已经

http://appgallery.appspot.com/results?q=image

阿帕奇:: ImageMagick的人一些例子,你安装 - 也跟Apache的mod_perl一起。这是标准设置,检查文档,还有其他选择。这可能就像交钥匙一样。

样品的conf:

<Location /img> 
PerlFixupHandler Apache::ImageMagick 
PerlSetVar AIMCacheDir /tmp/your/cache/directory 
</Location> 

你的请求可能是这样的: http://domain/img/test.gif/Frame?color=red

更多的文档是here

我发现this product,这似乎符合我的要求

尝试Nginx image processing server with OpenResty and Lua。它使用ImageMagick C API。 Openresty附带LuaJIT。它在速度方面表现出色。查看LuaJIT和Openresty的一些基准。