Sign in Join
Wiki copytemporary

PascalMagick/ru

Bahasa Indonesia · English · Español · Français · Português · Русский · 中文(中国) · 日本語

ImageMagick

ImageMagick -это бесплатный программный пакет разработанный для создания, редактирования и комбинирования растровых изображений. Он поддерживает огромное количество форматов (более 90) включая такие как GIF, JPEG, JPEG-2000, PNG, PDF, PhotoCD, TIFF, DPX и т.д. Изображения можно обрезать, красить, обрабатывать с использованием некоторых эффектов, вращать, растягивать, комбинировать, добавлять текст, линии, полигоны, эллипсы и кривые Безье.

Пакет запускается под управлением всех основных операционных систем, может работать в консольном режиме (через командную строку), и входит в состав большинства дистрибутивов Linux.

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

MagickWand

MagickWand API - это простой в использовании, программный интерфейс для работы с пакетом, рекомендованный командой разработчиков ImageMagic.

MagickCore

MagickCore API - это низкоуровневый интерфейс для ImageMagic.

PascalMagick

Этот порт - трансляция заголовков с языка C (си) на язык Pascal для возможности работы с MagickWand и Magick Core.

Авторы

Felipe Monteiro de Carvalho

Ángel Eduardo García

Лицензия

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 для предотвращения возможных проблем.

Демонстрационная программа

pascal
{ 
  Демонстрационная программа для библиотеки ImageMagic
pascal
?????? ?????????????????? ???????? ????????????????????????????: Felipe Monteiro de Carvalho
pascal
??????????????????????????: ???????????? ?????????????????? ??????????????????, ?????? ?????????????? ???????????? ?????????? image.png
???????????????????????????? ?? ?????? ???? ???????????????? (106, 80) ?? ?????????????????????? ?????? ?? jpg.
pascal
Dez/2005
pascal
}
pascal
{Версия 0.1}
program wanddemo;
pascal
{$mode objfpc}{$H+}
pascal
uses SysUtils, magick_wand, ImageMagick;
pascal
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;
pascal
var
  status: MagickBooleanType;
  wand: PMagickWand;
begin
  { Чтение изображения }
pascal
MagickWandGenesis;
pascal
wand := NewMagickWand;
pascal
try
  status := MagickReadImage(wand, 'image.png');
  if (status = MagickFalse) then ThrowWandException(wand);
pascal
{ Преобразование изображений в последовательность миниатюр }
pascal
MagickResetIterator(wand);
pascal
while (MagickNextImage(wand) <> MagickFalse) do
 MagickResizeImage(wand, 106, 80, LanczosFilter, 1.0);
pascal
{ Запись изображения как MIFF и его уничтожение }
pascal
status := MagickWriteImages(wand, 'image.jpg', MagickTrue);
if (status = MagickFalse) then ThrowWandException(wand);
pascal
finally
  wand := DestroyMagickWand(wand);
pascal
MagickWandTerminus;
pascal
end;
pascal
end.

Subversion

Вы можете загрузить SVN этого проекта используя команду:

svn checkout http://svn.freepascal.org/svn/fpc/trunk/packages/base/imagemagick imagemagick

Помощь и справка

За дополнительной информацией обращайтесь на форум Lazarus.


From the Free Pascal wiki, page "PascalMagick/ru", as it stood on 2015-05-11 after a change by FTurtle, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's Licensing page. If you have concerns about this material, message the admin.

Revision 1, last changed by WikiArchive .

Edited on wiki.freepascal.org by 3 people, 2007–2015

From the official wiki's backup of 26 May 2024: who edited this page there, and when. Edits made there after that date were not recorded, and the earlier versions are not shown here; the main page says why.

WhenWhoWhat changed
XandreNew page: == ImageMagick == [http://www.imagemagick.org/ ImageMagick] -это бесплатный программный пакет разработанный для создания, редак...
Swen (minor)
FTurtlecategories (minor)

Talk about this page

Nobody has opened a bench for this page yet. Sign in to open one.