ImageMagick的使用

    ImageMagick是一个图像处理软件,通过它可以编辑处理包括JPEG、TIFF、PNM、PNG、GIF和Photo CD在内的等当今最流行的图象格式,这里我们介绍一下其perl接口的PerlMagick的使用技巧。

    PerlMagick的模块名称叫Image::Magick,通过cpan网络可以搜索到它。

Perl可以处理在底色图片上加上丰富的图片以及文字信息,首先,我们选定一些素材如下:

背景:

512x120_19321535.jpg

图片:

35911_1449721152.jpg

然后开始写脚本啦!先创建一个对象$img,读入背景图像,如下所示:

$img    = new Image::Magick();
$x = $img->ReadImage('512x120_19321535.jpg');
warn "$x" if "$x";

然后创建另外一个图片对象$capimg,设置属性透明,并读入图片信息:

$capimg = new Image::Magick();
$x = $capimg->Set(
                size            => '100x100',
                alpha           => 'Transparent',
       );
warn "$x" if "$x";
$x = $capimg->ReadImage($file);
warn "$x" if "$x";
此时图片信息如果需要图片的背景进行透明化,需要对其属性进行如下配置:
$x = $capimg->FloodfillPaint(
        fuzz            => "5%",
        );                                     
warn "$x" if "$x";     
$x = $capimg->Transparent(     
        color           => 'black',            
        );                                                     
warn "$x" if "$x"
接下来我们对图像进行组合,代码示例如下:
$x = $tmpimg->Composite(
        image       => $capimg,    
        x           => 75,             
        y           => 10,                             
        compose     => 'over',                                         
        geometry    => '+35+65'                                                        
        );                                                                                             
warn "$x" if "$x";
添加上文字信息——“Cnangel的描述文字”,并调整位置和字体等:
$x = $tmpimg->Annotate(
        x           => 190,
        y           => 80, 
        font        => '/u/fonts/simkai.ttf',
        pointsize   => 48, 
        fill        => 'green',
        text        => “Cnangel的描述文字”,
        );     
warn "$x" if "$x";
最后写入图片文件:
$x = $tmpimg->Write(
        filename    => "$imageoutdir/$filename",
        compression => 'None'
        );     
warn "$x" if "$x";
打开图片,效果如下:
35911_1449721152_out.jpg
其完整的批量处理脚本在此:
imgmerge.pl
其实ImageMagick也提供了命令行模式——convert,若转换背景图像为透明,则:
convert image.png -fuzz 10% -transparent white image.png
另外,ImageMagick提供了包括翻转、滤镜等很多和photoshop一样的功能,甚至可以模拟复原图像等,如下图:
Imagemagick.png
上面的只是一些例子,更多的ImageMagick功能还需要读者亲身体会哟!

Categories

| | 评论(0)

发表评论

June 2011

      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30    

关于此日记

此日记由 Cnangel 发表于 April 14, 2011 1:40 PM

此Blog上的上一篇日记解决MT留言出错的问题

此Blog上的下一篇日记硬盘DMA模式和PIO模式

首页归档页可以看到最新的日记和所有日记。

归档

Powered by Movable Type 5.11