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功能还需要读者亲身体会哟!

Monthly Archives

Pages

Powered by Movable Type 7.7.2

About this Entry

This page contains a single entry by Cnangel published on April 14, 2011 1:40 PM.

解决MT留言出错的问题 was the previous entry in this blog.

硬盘DMA模式和PIO模式 is the next entry in this blog.

Find recent content on the main index or look in the archives to find all content.