【问题标题】:Perl+Image::Magick usage: how to assemble several areas in one image into a new image?Perl+Image::Magick 用法:如何将一个图像中的多个区域组合成一个新图像?
【发布时间】:2011-01-20 20:20:49
【问题描述】:

我是 ImageMagick 的新手,还没有弄清楚如何将多个区域组合成一个新图像。 例如,我知道图像中“你好”和“世界”这两个词的“几何”,我需要做什么 是检索单词图像,然后将其放入一个行图像中,同时保持它们的相对位置。

问题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() 方法 恢复原始图像。有没有办法从图像中复制而不是裁剪特定区域?这边走 可以节省多次来回复制整个图像的时间。

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

-晋

【问题讨论】:

  • 你为什么要在warn "$x" if "$x"; 的$x 周围加上引号?没有必要这样做。
  • Stackoverflow 允许您在问题中插入图像。这可以帮助我们了解您从什么开始以及您希望以什么结束。而且,与往常一样,最小的工作程序和导致问题的输入比孤立的 sn-ps 更有帮助。

标签: perl imagemagick


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2012-05-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-25
    • 2021-03-16
    • 2014-01-05
    • 2017-04-30
    • 1970-01-01
    相关资源
    最近更新 更多