Perl + Image :: Magick用法:如何将一个图像中的多个区域组合成一个新图像?

时间:2010-02-25 03:42:11

标签: perl imagemagick

我是ImageMagick的新手,并没有弄清楚如何将几个区域组合成一个新图像。 例如,我分别在图像中知道“hello”和“world”字样的“几何”,我需要做什么 是检索单词图像,然后放入一行图像,同时保持它们的相对位置。

问题1:假设我使用perl API,我应该如何使用Composite()或其他正确的方法来执行此操作?

my $geom = sprintf('%dx%x+%d+%d', $word->{width}, $word->{height}, $offsetx, $offsety); 
$x = $lineimg->Composite($wordimg, $geom); 
warn "$x" if "$x";

假设$ lineimg的大小足以容纳所有单词图像并且计算了几何图形。 此代码通过ImageMagick发出抱怨:

Exception 410: composite image required `Image::Magick' @ Magick.xs/XS_Image__Magick_Mogrify/7790 ...

问题2:目前我只知道如何从原始图像中裁剪出单词图像,然后再克隆Clone()方法 恢复原始图像。有没有办法复制而不是从图像中裁剪特定区域?这条路 可以节省几次来回复印整个图像的时间。

有人知道如何编写这种处理吗?我感谢您的所有帮助和建议!

-Jin

1 个答案:

答案 0 :(得分:1)

从事物的声音Image :: Magick不适合您的任务。 Image :: Magick通常用于处理整个图像 - 过滤,缩放,格式转换等。

考虑GD module,它可以完成您需要的任何绘图操作。