PascalMagick/zh CN

From Lazarus wiki
Jump to navigationJump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

English (en) español (es) français (fr) Bahasa Indonesia (id) 日本語 (ja) português (pt) русский (ru) 中文(中国大陆)‎ (zh_CN)

关于

关于 ImageMagick

ImageMagick套件是一款免费的软件,用来开发、创建、编辑和组合位图图像。它支持大量不同格式的图像(超过90种),包括格式如GIF、JPEG、PNG、JPEG2000 、PDF、PhotoCD、TIFF、DPX。图像可以剪裁、颜色改变,可以使用各种效果,图像可以旋转,组合文本、线、多边形、椭圆和贝塞尔曲线,可以添加图片,拉伸或旋转。


查看维基百科上的ImageMagick


该套件运行在所有主流操作系统上,也可在命令行中使用,它的命令行工具也是Linux标准套件之一,在多个发行版中。


特性和功能:

  • 图像格式转换(如JPEG到PNG等等)
  • 改变大小、旋转、锐化、颜色减少,为图像增加特效
  • 创建剪贴画
  • 创建无背景图像
  • 将一组图片变成GIF动画
  • 创建合成图像
  • 画形状或文本在图像上
  • 修饰图像边框或框架
  • 描述图像的格式和特点


ImageMagick 书籍

ImageMagick 技巧 这种快节奏的实用教程中包含了大量照片处理的例子,创建LOGO、动画及完整的WEB项目。有了这本袖珍书,你会在任何时间创建出引人入胜的图像。

关于 MagickWand

MagickWand API 是ImageMagick 团队推荐的接口,它是一个易于使用的编程接口。

关于 MagickCore

该MagickCore API是​​ImageMagick的一个低级别接口。

关于 PascalMagick

This port is a translation of the c header files for both MagickWand and Magick Core. 此端口是C头文件的MagickWand 和Magick 核心翻译。


屏幕截图

作者

Felipe Monteiro de Carvalho

Ángel Eduardo García

许可证

BSD-style and compatible with the GPL.

你可以 阅读授权.

下载

Light bulb  Note: PascalMagick已经包含在所有最近的FPC版本中,你不需要下载它。

旧的版本

PascalMagick 0.4 可以在这里找到: http://sourceforge.net/project/showfiles.php?group_id=92177&package_id=174103&release_id=431432

对于旧版本的FPC,以使用下面的命令下载项目:

<b>地址失效</b>
svn checkout http://svn.freepascal.org/svn/fpc/trunk/packages/base/imagemagick imagemagick

状态

PascalMagick 的当前版本可以工作在Windows和Linux上。

安装

PascalMagick 的当前版本可以工作在Windows和Linux上,Mac OS X上测试是有必要的。

首先,从官方网站下载并安装ImageMagick:http://www.imagemagick.org/script/binary-releases.php

现在下载并解压PascalMagick 包(按下载页面说明操作)

要检查一切正常, 打开 PascalMagick/wand/wanddemo.lpi 项目。Now go to the Project --> "Compiler Options dialog" and change the "Other Units" field to point to "../magick", 因此你可以找到 PascalMagick/magick/ImageMagick.pas 文件,在这之后,你可以编译并运行测试程序。

如果程序正常运行,它会加载目录下的image.png文件,调整大小并转换为image.jpg。

一个额外的步骤:在Linux中,你需要重命名image.PNG 为 image.png,由于大小写问题。

Linux下你必须修改 PascalMagick/magick/ImageMagick.pas文件
WandExport = 'libWand';WandExport = 'libMagickWand';
但主记住,PascalMagick 已经安装在最新版本的FPC。

演示程序1

{
  ImageMagick库演示程序
  
  这个项目由 Felipe Monteiro de Carvalho 从C转换过来

  使用方法:只需要执行程序,它会自动调整目录下的image.png图像,以缩放(106,80),并将其转换为JPG格式。
  
  Dez/2005
}
{Version 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
  { Read an image. }
  
  MagickWandGenesis;

  wand := NewMagickWand;
  
  try
    status := MagickReadImage(wand, 'image.png');
    if (status = MagickFalse) then ThrowWandException(wand);

    { Turn the images into a thumbnail sequence. }

    MagickResetIterator(wand);

    while (MagickNextImage(wand) <> MagickFalse) do
     MagickResizeImage(wand, 106, 80, LanczosFilter, 1.0);

    { Write the image as MIFF and destroy it. }
  
    status := MagickWriteImages(wand, 'image.jpg', MagickTrue);
    if (status = MagickFalse) then ThrowWandException(wand);

  finally
    wand := DestroyMagickWand(wand);

    MagickWandTerminus;
  end;
end.

加载图像到Lazarus中的TBitmap 和 ImageMagick

http://lazarus.freepascal.org/index.php/topic,20016.msg114885.html#msg114885

BUG报告/功能要求

测试是必要的,以难所有版本ImageMagick工作良好。

请发送问题报告/功能在相应讨论页。

变更记录

  • 07.11.07
  1. 添加magick_image.inc上缺少的4个功能到 fpc 版本库
  • 12.07.06 PascalMagick version 0.4 发布
  1. 最后的bug修复
  • 24.05.06 PascalMagick version 0.3 发布
  1. 一些小的修正
  • 10.04.06 PascalMagick version 0.2 发布
  1. 基于ImageMagic6.2
  2. MagickWand API完全翻译
  3. 添加第二个演示程序
  • 27.12.05 PascalMagick version 0.1 发布
  1. 约80%的magickwand API被翻译
  2. 基本的演示程序运行良好
  3. 只有MagickCode 标题被翻译
  • 14.12.05 开始着手pascal端口的c头文件

帮助

如需帮助请到Lazarus论坛或至电Lazarus列表。