PascalMagick/ru
│
English (en) │
español (es) │
français (fr) │
Bahasa Indonesia (id) │
日本語 (ja) │
português (pt) │
русский (ru) │
中文(中国大陆) (zh_CN) │
ImageMagick
ImageMagick -это бесплатный программный пакет разработанный для создания, редактирования и комбинирования растровых изображений. Он поддерживает огромное количество форматов (более 90) включая такие как GIF, JPEG, JPEG-2000, PNG, PDF, PhotoCD, TIFF, DPX и т.д. Изображения можно обрезать, красить, обрабатывать с использованием некоторых эффектов, вращать, растягивать, комбинировать, добавлять текст, линии, полигоны, эллипсы и кривые Безье.
Пакет запускается под управлением всех основных операционных систем, может работать в консольном режиме (через командную строку), и входит в состав большинства дистрибутивов Linux.
Особенности и возможности:
- Преобразование изображений из одного формата в другой (например PNG в JPEG)
- Масштабирование, вращение, повышение четкости, изменение насыщенности цвета, или добавление специальных эффектов к изображению
- Выполнение монтажа миниатюрных эскизов изображений
- Создание изображений, содержащих прозрачность для использования в интернете
- Преобразование множества изображений в анимированный GIF
- Создание комбинированного из нескольких отдельных изображений
- Рисование простых форм или текста на изображении
- Украшение изображений рамками или бордюрами
- Формирование списка характеристик и информации о формате изображения
MagickWand
MagickWand API - это простой в использовании, программный интерфейс для работы с пакетом, рекомендованный командой разработчиков ImageMagic.
MagickCore
MagickCore API - это низкоуровневый интерфейс для ImageMagic.
PascalMagick
Этот порт - трансляция заголовков с языка C (си) на язык Pascal для возможности работы с MagickWand и Magick Core.
Авторы
Лицензия
BSD-совместимая с GPL.
Полный текст здесь.
Загрузка
PascalMagick 0.4 доступен по адресу: http://sourceforge.net/project/showfiles.php?group_id=92177&package_id=174103&release_id=431432
Статус: заголовки Magick Wand полностью работоспособны как в Linux так и в Windows.
Установка
Текущая версия PascalMagic работает на Linux и Windows. Для тестирования под Mac OS X требуются бета тестеры.
Чтобы приступить к установке, скачайте и запустите бинарные файлы ImageMagic с официального сайта: http://www.imagemagick.org/script/binary-releases.php
Теперь скачайте и распакуйте PascalMagic в каталог для компонентов Lazarus
Для проверки работоспособности откройте проект PascalMagick/wand/wanddemo.lpi. Теперь в главном меню Lazarus нажмите: Проект -> Опции компилятора..., и измените значения полей «Другие модули» и «Другие исходники» на «..\magick\;..\wand\», для того чтобы при сборке компилятор нашел файл PascalMagick/magick/ImageMagick.pas. После этого откомпилируйте и запустите тестовую программу.
Если все работает правильно, программа загрузит файл image.png (расположенный в том же каталоге), изменит его фактический размер и сохранит под именем image.jpg.
Один важный момент для пользователей Linux: переименуйте файл image.PNG в image.png для предотвращения возможных проблем.
Демонстрационная программа
{ Демонстрационная программа для библиотеки ImageMagic Эта программа была конвертирована: Felipe Monteiro de Carvalho Использование: Просто запустите программу, она изменит размер файла image.png расположенного в том же каталоге (106, 80) и преобразует его в jpg. Dez/2005 } {Версия 0.1} program wanddemo; {$mode objfpc}{$H+} uses SysUtils, magick_wand, ImageMagick; procedure ThrowWandException(wand: PMagickWand); var description: PChar; severity: ExceptionType; begin description := MagickGetException(wand, @severity); WriteLn(Format('An error ocurred. Description: %s', [description])); description := MagickRelinquishMemory(description); Abort; end; var status: MagickBooleanType; wand: PMagickWand; begin { Чтение изображения } MagickWandGenesis; wand := NewMagickWand; try status := MagickReadImage(wand, 'image.png'); if (status = MagickFalse) then ThrowWandException(wand); { Преобразование изображений в последовательность миниатюр } MagickResetIterator(wand); while (MagickNextImage(wand) <> MagickFalse) do MagickResizeImage(wand, 106, 80, LanczosFilter, 1.0); { Запись изображения как MIFF и его уничтожение } status := MagickWriteImages(wand, 'image.jpg', MagickTrue); if (status = MagickFalse) then ThrowWandException(wand); finally wand := DestroyMagickWand(wand); MagickWandTerminus; end; end.
Subversion
Вы можете загрузить SVN этого проекта используя команду:
svn checkout http://svn.freepascal.org/svn/fpc/trunk/packages/base/imagemagick imagemagick
Помощь и справка
За дополнительной информацией обращайтесь на форум Lazarus.