2008-09-28 1 views
12

Я ищу бесплатный, желательно с открытым исходным кодом, http image processing server. То есть Я отправил бы такой запрос:Сервер обработки изображений

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

и он вернул бы это изображение, повернутое. Особенности хотели:

  • стороны сервера кэширования
  • Несколько операций/эффектов (например, масштабирование, водяных знаков и т.д.). Чем больше тем лучше.
  • Поддержка POST для предоставления изображения (вместо сервера GETting).
  • Различные форматы вывода (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

Интересно, что с downvotes ... Я думаю, что вопрос очень ясен и полезен для многих людей. – 2012-01-09 21:11:23

ответ

7

ImageResizing.Net library является как библиотека .NET и модуль IIS. Это графический сервер или библиотека изображений, в зависимости от того, что вы предпочитаете.

Это открытый источник, под кодом MIT-style license и поддерживается плагинами.

Он обладает отличной производительностью и поддерживает 3 конвейера: GDI +, компоненты обработки изображений Windows и FreeImage. WIC является самым быстрым и может выполнять некоторые операции до 15 мс. Он поддерживает кэширование дисков (до 1 миллиона файлов) и совместим с CDN (идеально подходит Amazon CloudFront).

У этого человека очень удобный URL-синтаксис. Ex. image.jpg?width=100&height=100&mode=crop.

Он поддерживает изменение размера, обрезку, отступы, поворот, выход PNG/GIF/JPG, границы, водяные знаки, удаленные URL-адреса, Amazon S3, MS SQL, Amazon CloudFront, пакетные операции, фильтры изображений, кэширование диска и множество других классный материал, как резьба по швам.

Он не поддерживает доставку POST изображений, но это легко сделать с помощью плагина. И вы обычно не хотите хранить изображения, которые доставляются через POST, а не просто отвечать на команду POST с результатом?

[Раскрытие: Я автор ImageResizer]

2

Вы можете использовать LibGD или ImageMagick, чтобы построить такой сервис довольно легко. У них обоих есть много языковых привязок.

+0

Я знаю об этих ... Я искал приложение, которое я мог просто развернуть и использовать. – 2008-09-28 23:49:16

2

В то время как не из готового решения, зарегистрируйтесь ImageMagick. Для него есть perl interface, поэтому объедините это с некоторыми довольно простыми скриптами cgi или mod_perl, и он должен сделать трюк.

+0

Я знаю о ImageMagick ... Я искал приложение, которое я мог бы просто развернуть и использовать. – 2008-09-28 23:48:34

2

Вы можете сделать это с помощью Google App Engine - они предоставляют процедуры обработки изображений и будут размещаться бесплатно в определенных пределах.

Вот некоторые примеры людей, которые делают такие вещи, как это уже

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

4

Apache :: ImageMagick, установить, что - а также Apache вместе с mod_perl. Это стандартная настройка, проверка документов, есть альтернативы. Скорее всего, это под ключ.

Примеры конф:

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

Ваши запросы могут выглядеть следующим образом: http://domain/img/test.gif/Frame?color=red

Более документы являются here!

1

Я нашел this product, это, кажется, соответствует моим требованиям

1

Попробуйте Nginx image processing server with OpenResty and Lua. Он использует API ImageMagick C. Openresty поставляется с LuaJIT. Он обладает потрясающей производительностью с точки зрения скорости. Ознакомьтесь с некоторыми ориентирами для LuaJIT и Openresty.