ImageMagick


Из Википедии, бесплатной энциклопедии
  (Перенаправлено с Imagemagick )
Перейти к навигации Перейти к поиску

ImageMagick - это бесплатный кроссплатформенный программный пакет с открытым исходным кодом [4] для отображения, создания, преобразования, изменения и редактирования растровых изображений . Созданный в 1987 году Джоном Кристи, он может читать и записывать более 200 форматов файлов изображений . Он и его компоненты широко используются в приложениях с открытым исходным кодом.

История

ImageMagick был создан в 1987 году Джоном Кристи, когда он работал в DuPont , для преобразования 24-битных изображений (16 миллионов цветов) в 8-битные изображения (256 цветов), чтобы их можно было отображать на большинстве экранов в то время. Он был свободно выпущен в 1990 году, когда DuPont согласилась передать авторские права ImageMagick Studio LLC , которая до сих пор является организацией, поддерживающей проект. [5] [6] [7]

В мае 2016 года сообщалось, что в ImageMagick есть уязвимость, с помощью которой злоумышленник может выполнить произвольный код на серверах, которые используют приложение для редактирования загруженных пользователями изображений. [8] Эксперты по безопасности, включая исследователей CloudFlare, наблюдали фактическое использование уязвимости при активных попытках взлома. [9] Недостаток безопасности возник из-за того, что ImageMagick вызвал внутренние инструменты без предварительной проверки, чтобы убедиться, что путь и имена файлов не содержат неправильных команд оболочки. [10] Уязвимость не повлияла на дистрибутивы ImageMagick, которые включали правильно настроенную политику безопасности . [ необходима цитата ]

Особенности и возможности

Программное обеспечение в основном состоит из ряда утилит интерфейса командной строки для управления изображениями. ImageMagick не имеет надежного графического пользовательского интерфейса для редактирования изображений, как Adobe Photoshop и GIMP , но включает - для Unix-подобных операционных систем - базовый собственный графический интерфейс X Window (называемый IMDisplay) для рендеринга и управления изображениями и библиотеками API для многих. языки программирования. Программа использует магические числа для определения форматов файлов изображений .

Ряд программ, таких как Drupal , MediaWiki , phpBB и vBulletin , могут использовать ImageMagick для создания эскизов изображений, если они установлены. ImageMagick также используется другими программами, такими как LyX , для преобразования изображений.

ImageMagick имеет полностью интегрированную привязку Perl под названием PerlMagick, [11], а также многие другие: G2F (Ada), MagickCore (C), MagickWand (C), ChMagick (Ch), ImageMagickObject (COM +), Magick ++ (C ++), JMagick. (Java), L-Magick (Lisp), NMagick (Neko / Haxe), MagickNet (.NET), PascalMagick (Pascal), MagickWand для PHP (PHP), IMagick (PHP), PythonMagick (Python), RMagick (Ruby) или TclMagick (Tcl / TK).

Преобразование формата файла

Одной из основных и тщательно реализованных функций ImageMagick является его способность эффективно и точно конвертировать изображения между различными форматами файлов (для этого используется команда convert).

Цветовое квантование

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

Связанная с этим возможность - художественный эффект постеризации , который также уменьшает количество цветов, представленных в изображении. Разница между этим и стандартным квантованием цвета заключается в том, что, хотя при стандартном квантовании окончательная палитра выбирается на основе взвешивания выраженности существующих цветов в изображении, постеризация создает палитру цветов, плавно распределенных по спектру, представленному в изображении. В то время как при стандартном квантовании цвета все окончательные значения цвета - это те, которые были в исходном изображении, значения цвета в постеризованном изображении могут не присутствовать в исходном изображении, но находятся между исходными значениями цвета.

Дизеринг

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

Масштабирование жидкости

В 2008 году была добавлена поддержка жидкостного масштабирования . [2] Эта функция позволяет, например, изменять масштаб изображения 4: 3 в изображения 16: 9 без искажения изображения.

Художественные эффекты

ImageMagick включает в себя множество фильтров и функций, предназначенных для создания художественных эффектов:

  • Преобразование эскиза углем
  • Постеризация

OpenCL

ImageMagick может использовать OpenCL для использования ускоренной графической карты ( GPU ) для обработки. [12]

Глубокий цвет

Версия Q8 поддерживает компонент до 8 бит на пиксель (8-битная шкала серого , 24- или 32-битный цвет RGB ). Версия Q16 поддерживает компонент до 16 бит на пиксель (16-битная шкала серого, до 48- или 64-битного цвета RGB).

Другой

Ниже приведены некоторые другие возможности ImageMagick:

  • Преобразование формата : преобразование изображения из одного формата в другой (например, PNG в JPEG ).
  • Преобразование: изменение размера, поворот, обрезка, отражение или обрезка изображения. (Применяет их без потери генерации к файлам JPEG, где это возможно.)
  • Прозрачность: делает части изображения невидимыми.
  • Рисование: добавление фигур или текста к изображению.
  • Украсить: добавить к изображению рамку или рамку.
  • Специальные эффекты: размытие, резкость, порог или оттенок изображения.
  • Анимация: соберите файл анимации GIF из последовательности изображений.
  • Текст и комментарии: вставьте описательный или художественный текст в изображение.
  • Идентификация изображения: опишите формат и атрибуты изображения.
  • Составной: накладывать одно изображение на другое.
  • Монтаж: совмещайте миниатюры изображений на холсте изображения.
  • Обобщенное искажение пикселей: исправляет или вызывает искажения изображения, включая перспективу.
  • Морфология форм: извлекайте особенности, описывайте формы и распознавайте узоры на изображениях.
  • Поддержка кинофильмов: чтение и запись в распространенных форматах изображений, используемых в цифровых фильмах.
  • Калькулятор изображений: примените математическое выражение к изображению или каналам изображений.
  • Дискретное преобразование Фурье : реализует прямое и обратное ДПФ.
  • Управление цветом: точное управление цветом с помощью цветовых профилей или вместо встроенного гамма-сжатия или расширения в соответствии с требованиями цветового пространства.
  • Изображения с высоким динамическим диапазоном: точно представляют широкий диапазон уровней яркости реальных сцен, начиная от самого яркого прямого солнечного света и заканчивая самыми глубокими темными тенями.
  • Зашифровать или расшифровать изображение: преобразовать обычные изображения в неразборчивую тарабарщину и обратно.
  • Поддержка виртуальных пикселей: удобный доступ к пикселям за пределами области изображения.
  • Поддержка больших изображений: чтение, обработка или запись изображений с размерами мегапикселей, гига или терапикселей.
  • Поддержка потоков выполнения: ImageMagick является потокобезопасным, и большинство внутренних алгоритмов выполняются параллельно, чтобы воспользоваться преимуществами ускорения, обеспечиваемого микросхемами многоядерных процессоров .
  • Гетерогенная распределенная обработка: некоторые алгоритмы поддерживают OpenCL, чтобы воспользоваться преимуществами ускорения, обеспечиваемого совместным выполнением на разнородных платформах, состоящих из ЦП, ГП и других процессоров.
  • Распределенный пиксельный кеш: разгрузка промежуточного пиксельного хранилища на один или несколько удаленных серверов.
  • ImageMagick на iPhone : конвертируйте, редактируйте или составляйте изображения на вычислительном устройстве iOS, таком как iPhone или iPad .

Распределение

ImageMagick является кроссплатформенным и работает в Microsoft Windows и Unix-подобных системах, включая Linux , macOS , iOS , Android , Solaris , Haiku и FreeBSD . Исходный код проекта можно скомпилировать для других систем, включая AmigaOS 4.0 и MorphOS . Он работал под управлением IRIX . [13]

Связанное программное обеспечение

GraphicsMagick - это форк ImageMagick 5.5.2, выпущенный в 2002 году, подчеркивающий кросс-релизную стабильность программного API и параметров командной строки. GraphicsMagick возникла в результате непримиримых разногласий в группе разработчиков. [14]

Смотрите также

  • Дьявол
  • Графическая библиотека GD
  • Netpbm

использованная литература

  1. ^ «История» . ImageMagick . Архивировано 14 марта 2018 года . Проверено 18 марта 2018 года . Доктору Пенсаку пришлось убедить высшее руководство DuPont. ... В любом случае ImageMagick не был бы доступен сегодня, если бы DuPont не передала авторские права ImageMagick Studio LLC. ImageMagick был размещен в группе comp.archives Usenet 1 августа 1990 года.
  2. ^ a b «Журнал изменений ImageMagick» . Архивировано 6 июня 2016 года . Проверено 29 июля 2021 года .
  3. ^ a b «Лицензия ImageMagick» . spdx.org .
  4. ^ a b c «ImageMagick: Лицензия» . ImageMagick . Архивировано 26 октября 2016 года . Проверено 26 октября, 2016 .
  5. ^ «ImageMagick: История» . www.imagemagick.org . ImageMagick Studio. Архивировано 29 октября 2016 года . Проверено 18 октября, 2016 .
  6. ^ Hajdarbegovic, Nermin (12 февраля 2019). "ImageMagick: управление графикой из командной строки?" . whoishostingthis.com . Проверено 18 августа 2020 года .
  7. ^ "ImageMagick" . computerhope.com . 27 февраля 2019 . Проверено 18 августа 2020 года .
  8. ^ «Разгул эксплойтов: хакеры нацелены на критическую ошибку обработки изображений» . Ars Technica. 2016. Архивировано 25 сентября 2016 года . Проверено 26 сентября 2016 года .
  9. ^ «Inside ImageTragick: настоящие полезные данные, используемые для взлома веб-сайтов» . CloudFlare. 2016. Архивировано 1 октября 2016 года . Проверено 26 сентября 2016 года .
  10. ^ Уильямс, Крис (4 мая 2016 г.). «Взломщики сервера для ImageMagick настолько тривиальны, что вы воскликнете» . Реестр . Архивировано 23 декабря 2017 года . Проверено 22 декабря 2017 года .
  11. ^ LLC, ImageMagick Studio. «PerlMagick, Perl API @ ImageMagick» . imagemagick.org . Архивировано 10 мая 2017 года . Проверено 22 мая 2017 года .
  12. ^ «ImageMagick: Архитектура» . Архивировано 1 июня 2016 года . Проверено 6 января 2010 года .
  13. ^ «Magick ++ API: установите Magick ++» . imagemagick.org . Архивировано 8 мая 2017 года . Проверено 22 мая 2017 года .
  14. ^ «Знакомство с проектом GraphicsMagick» . Список рассылки ImageMagick-developer. 15 марта 2003 г.

дальнейшее чтение

  • Монтабоне, Себастьян (2010). Начало обработки цифровых изображений: использование бесплатных инструментов для фотографов . Апресс. ISBN 978-1-4302-2841-7.

внешние ссылки

  • Официальный веб-сайт
  • Политика безопасности ImageMagick - Политика безопасности ImageMagick - передовой опыт настоятельно рекомендует вам настроить политику безопасности, которая соответствует вашей локальной среде.
  • Примеры IM - Примеры использования интерфейса командной строки - предоставляет множество небольших примеров, демонстрирующих широкий спектр его возможностей.
  • Скрипты ImageMagick Фреда - предоставляет множество сценариев оболочки, использующих ImageMagick для выполнения более сложных задач.
  • Как автоматизировать структурное тестирование PDF с помощью ImageMagick - Демонстрирует функции ImageMagick для преобразования, сравнения и сопоставления.
  • Критическая уязвимость ImageMagick ImageMagick страдает уязвимостью, которая позволяет искаженным изображениям вынудить веб-сервер выполнить код
Источник « https://en.wikipedia.org/w/index.php?title=ImageMagick&oldid=1044307078 »