PascalMagick/zh CN

From Free Pascal wiki
Jump to navigationJump to search

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列表。