Сервер обработки изображений - PullRequest
12 голосов
/ 29 сентября 2008

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

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

и он вернул бы это изображение повернутым. Требуемые функции:

  • Кэширование на стороне сервера
  • Несколько операций / эффектов (например, масштабирование, создание водяных знаков и т. Д.). Чем больше, тем лучше.
  • Поддержка POST для предоставления изображения (вместо того, чтобы ПОЛУЧИТЬ его).
  • Различные форматы вывода (PNG, JPEG и т. Д.).
  • Пакетные операции

Это было бы что-то вроде this , но бесплатное и менее SOAPy. Есть что-нибудь подобное или я слишком много спрашиваю?

Ответы [ 7 ]

7 голосов
/ 10 января 2012

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

Он с открытым исходным кодом, под лицензией в стиле MIT , и поддерживается плагинами.

Обладает отличной производительностью и поддерживает 3 конвейера: GDI +, Windows Imaging Components и 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]

4 голосов
/ 29 сентября 2008

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

Больше документов здесь !

2 голосов
/ 29 сентября 2008

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

Вот несколько примеров того, как люди уже делают подобные вещи

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

2 голосов
/ 29 сентября 2008

Хотя это не готовое решение, посмотрите ImageMagick . Для него существует perl интерфейс , поэтому объедините его с некоторыми довольно простыми сценариями cgi или mod_perl, и это должно помочь.

2 голосов
/ 29 сентября 2008

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

1 голос
/ 06 апреля 2017

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

1 голос
/ 18 мая 2009

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

...