Udostępnij za pośrednictwem


Забавно, в реальной жизни ты выглядишь больше… Изменение размера изображения на стороне сервера с помощью свободного ПО с открытым кодом ImageResizer

 

Грег Дункан

Не часто встречаются полные и завершенные HTTP-модули ASP.NET с доступным или открытым исходным кодом, поэтому, когда я увидел на форуме это сообщение «The best image processing HttpModule is now free and open-source!», я решил, что это отличный проект, чтобы о нем рассказать.

ImageResizer

Работать меньше, делать больше

Изменять размеры, вырезать, поворачивать, добавлять водяные знаки и трансформировать изображение не покидая редактора кода или браузера с помощью простого API.

  • API строки запроса (на всех языках)
    image.jpg?width=300
  • УправляемыйAPI ( языки .NET и COM l)
    ImageBuilder.Current.Build(source,destination,parameters)

Хватит управлять множеством версий изображения. Остановите бесконечные циклы фотошоп-подгрузить-проверить и пусть изображения станут самой простой частью вашей работы.

Свободный

Большинство популярных функций свободны и имеют открытый исходный код:

  • Изменение размера, вырезание, повороты, отражения
  • Рамки, отбрасываемые тени, заполнение, фоновые цвета
  • Подстраиваемая компрессия jpeg. Просмотр многостраничных tiff-файлов.
  • Выбор анимированного GIF-фрейма. Полная диагностика в реальном времени.
  • Базовое GIF- и PNG-кодирование

И – пробные плагины без ограничения по времени действия!

Одной из первых вещей, на которые я обращаю внимание при открытии проектов с открытым исходным кодом, является лицензия. ImageResizer открыт настолько, насколько можно. Ниже приведен ее фрагмент:

Проект ImageResizer Core (папка /Core/ и все ее подпапки) лицензируется на условиях лицензии Resize Freedom.

Она включает все плагины в пространстве имен ImageResizer.Plugins.Basic (NoCache,DefaultEncoder,ClientCache,Caption,DropShadow,SizeLimiting и т. д.)

Чтобы ознакомится с последней версией лицензии посетите страницу https://imageresizingin.net/licenses/freedom.

#Лицензия Image Resizer Freedom

##Краткий вариант лицензии:

Нет ограничений, за исключением использования моего кода в качестве конкурента моим продуктам.

Разрешенные действия:

* Использование
* Изменения
* Распространение
* Сублицензирование (но оригинальный вариант лицензии должен быть включен с исходным кодом и исполняемыми файлами)
* Поставщики услуг размещения сайтов могут устанавливать пакет в качестве разделяемой библиотеки (в GAC) на своих серверах.

Точная копия лицензии MIT (https://www.opensource.org/licenses/mit-license.php)? Но с одним условием, выделенным полужирным.

...

Ниже снимок решения Visual Studio версии V3 Alpha 2

clip_image002

Запуск решения приводит к следующему...

clip_image004

После чего можно начинать играть с решением, через API строки запроса

clip_image006

clip_image008

clip_image010

Натаниэл опубликовал справку по командам и ниже приведен фрагмент списка операций, которые можно выполнять.

clip_image012

Кстати, веб-проект имеет ссылку на двоичный файл библиотеки ImageResizer DLL. Что означает, если вы поместите точку останова в коде и запустите его, вы никогда ее не достигните (что странно). Это легко исправляется изменением ссылки на двоичный файл на ссылку на проект, после чего точки останова будут прекрасно достигаться…

clip_image014

clip_image016

Если вы выполняете манипуляции с изображением на стороне сервера, взгляните, как работает HTTP-модуль или поинтересуйтесь расположением изображений над файловой системы (Amazon S3, SQL Server и т.п.), после чего будьте с кодом ImageResizer «на ты»…