- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我只是在看 Raku 的 MagickWand imagemagick 界面:
https://modules.raku.org/dist/MagickWand
而且我看不到任何叠加两个图像的方法。有一个
示例/01-hello.pl6 中演示的 MagickWand.append-wands
平铺图像,我看到代码中有一个蒙太奇方法
(用于创建动态 gif?),但我没有看到像 Flatten 这样的东西
我在 perl 的 Image::Magick 中使用的方法。
最佳答案
我有一些使用 MagickMergeImageLayers 工作的代码,我将 MagickWand 子类化并添加了一个方法来完成它(以及在 append-wands 方法中所做的事情)。
这是子类模块:
use MagickWand;
use NativeCall;
use MagickWand::NativeCall;
use MagickWand::NativeCall::DrawingWand;
use MagickWand::NativeCall::Image;
use MagickWand::NativeCall::Mogrify;
use MagickWand::NativeCall::PixelIterator;
use MagickWand::NativeCall::PixelWand;
use MagickWand::NativeCall::Property;
use MagickWand::NativeCall::Wand;
use MagickWand::NativeCall::WandView;
use MagickWand::NativeCall::Deprecated;
use MagickWand::Enums;
class MagickWand::Doomed is MagickWand {
submethod flatten-wands(+@wands) returns MagickWand {
die "List must be defined with at least two elements" unless @wands.defined && @wands.elems >= 2;
my $temp-wand = NewMagickWand; # this "wand" is a cpointer
MagickSetLastIterator($temp-wand);
for @wands -> $wand {
MagickAddImage($temp-wand, $wand.handle);
MagickSetLastIterator($temp-wand);
}
MagickSetFirstIterator($temp-wand);
# an integer expected as second argument but the value
# doesn't seem to do anything
my $cloned-wand = MagickMergeImageLayers( $temp-wand, 0 );
DestroyMagickWand( $temp-wand );
return MagickWand.new( handle => $cloned-wand );
}
}
一些使用上述内容的示例脚本代码:
use MagickWand::Doomed;
my @images; # stack of images to process ("wands", i.e. MagickWand objects)
my $bg = MagickWand::Doomed.new;
$bg.read( $input_image_file );
my ($w, $h) = ($bg.width, $bg.height);
$bg.label("conan_limits");
@images.push( $bg );
my $overlay = MagickWand::Doomed.new;
$overlay.create( $w, $h, 'transparent' );
$overlay.draw-line( 150, 120, 190, 70 );
$overlay.draw-line( 190, 70, 220, 120 );
$overlay.draw-line( 220, 120, 150, 120 );
$overlay.label("drawn");
@images.push( $overlay );
my $output_file = "$loc/flattened-output.png";
my $comparison = MagickWand::Doomed.flatten-wands( @images );
$comparison.write( $output_file );
# cleanup on exit
LEAVE {
for @images -> $image {
$image.cleanup if $image.defined;
}
}
关于imagemagick - 如何使用 MagickWand 叠加两个图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64526060/
我一直在尝试安装 ImageMagick,但没有成功,而且卡在了这一点上。我已经 dled 和 phpized MagickWand 并试图运行 ./configure 并得到错误: 正在检查默认路径
我只是在看 Raku 的 MagickWand imagemagick 界面: https://modules.raku.org/dist/MagickWand 而且我看不到任何叠加两个图像的方法。有
我有一个名为 single_color 的图像方法。它改变图像的颜色。它可以在我之前的 image magick 版本上运行,但升级我的版本后,它无法运行。 ImageMagick版本 版本:Imag
我可以遍历它们并进行计数,但我没有看到任何直接返回图像数量的方法。有吗? 最佳答案 上面的错误答案引用了一个 API 函数,该函数不再存在于最新版本的 MagickWand API 中。 我发现最好的
ImageMagick 可让您将标题应用于图像。标题文本会自动调整大小并自动换行以适合您定义的区域。 通过命令行使用 ImageMagick,我可以像这样为这个标题定义笔划宽度和颜色: convert
我已经将我的系统更新到 Ubuntu 15.04,但现在无法安装 Rmagick... 它给我以下错误: $ gem install rmagick -v '2.13.2' Building nati
我可以知道如何将 imagick.MagickWand 结构传递给函数并在其上应用方法吗? imagick.NewMagickWand 似乎返回了 *imagick.MagickWand 的类型,不是
我需要创建 pdf 文件的缩略图,我正在使用 Imagemagick 来实现这一点。 我尝试过Pythonmagick和wand将pdf转换为图像。但是,当我尝试调整转换后的 pdf 大小时,生成的图
我想实现这个 Emboss使用 ImageMagick 的 C API 的效果。脚本来自this页。我已经实现了方法 1 选项的浮雕,但我正在寻找方法 2 的转换。请查看 bash 脚本中的选项。 当
我想安装 Python ImageMagick API wand 并关注了这个网站: http://docs.wand-py.org/en/latest/guide/install.html#inst
我们在安装 ImageMagick PECL 时收到此错误: checking ImageMagick MagickWand API configuration program... found in
我开始在一个简单的 C 程序中使用 ImageMagick 和 MagickWand API。现在,作为测试,我只是在帧中寻找黑色像素。这是我的代码: int find_black_pixel(Mag
我有两个图像,我想将它们组合在一起,类似的命令是 convert one.png two.png +clone -combine displaceMask.png。下面是我的 C 代码。我使用 C 没
我有一个下面的 CLI,并尝试使用 magickwand c 获得相同的结果。一切似乎都很完美,或者不知道可能是我错过了什么,但 MagickUnsharpMaskImage 对我不起作用。检查我的源
更新 RMagick和 Imagemagick是一种痛苦的经历。我已经将 Mac 上的 Imagemagick 版本(MacOS El Capitan 版本 10.11.5)更新为 Ruby 2.3
今天在新服上安装php imagick, 环境如下: php 5.4.13 ImageMagick-6.8.3-10 imagick-3.0.1 可是出错了一个问题.就是死说找不到MagickW
我提前为这个新手问题道歉。 我想在我的 ubuntu 服务器上安装 MagickWand for PHP (http://www.magickwand.org/)。我可以使用一个简单的“apt-get
早上好, 经过多次尝试运行 from wand.image import Image 我收到以下错误: Traceback (most recent call last): File "C
我尝试将 SVG 转换为 PNG。结果图片有一个白色背景,我需要透明。 代码示例: wand = NewMagickWand() MagickReadImage(wand,tmp_file_name)
如何使用 MagickWand 在缓冲区(unsigned char*)中写入内容? 目前我生成一个图像并将其保存到文件中,但我需要它在内存中: MagickNewImage( wand, 640,
我是一名优秀的程序员,十分优秀!