c++ - ImageMagick 撰写 :args ="" to Magick++ API

标签 c++ image-processing imagemagick magick++

我正在尝试将以下 ImageMagick 命令转换为 Magick++:

convert input-1.jpg input-2.jpg -compose blend -define compose:args="25,75" -composite result.jpg

我在使用 -define compose:args="25,75" 时遇到困难,我在 Magick++ 中找不到其等效项。如果没有 compose:args= 部分,Magick++ 代码如下:

Magick::Image input1, input2;
input1.read("input-1.jpg");
input2.read("input-2.jpg");
input1.composite(input2, 0,0, BlendCompositeOp);

任何人都可以向我解释一下 compose:args 部分,或者更好地告诉我它的 Magick++ 等效项吗?

最佳答案

您需要在入站合成图像上定义图像artifact

#include <iostream>
#include <Magick++.h>

using namespace Magick;

int main(int argc, const char * argv[]) {

    InitializeMagick(argv[0]);
    Image alpha, beta;
    alpha.read("wizard:");
    beta.read("logo:");
    // -define compose:args="25,75"
    beta.artifact("compose:args", "25,74");
    alpha.composite(beta, 0, 0, BlendCompositeOp);
    alpha.write("/tmp/out.jpg");
    return 0;
}

compose:args with Magick++

关于c++ - ImageMagick 撰写 :args ="" to Magick++ API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34305995/

相关文章:

c++ - 链接器返回 "relocation has an invalid symbol at symbol index..."

c++ - 如何在范围 for 循环中使用 begin() 和 end()

algorithm - 冲浪指标

image - 如何提高图像的强度对比度?

macos - 是否可以为 High Sierra/Mojave 编译静态/可移植版本的 ImageMagick?

linux - Imagemagick 的导入速度慢得令人沮丧

c++ - 链接器无法在库中找到符号

html - 高分辨率 CSS Sprite

image-processing - 如何使用 ImageMagick 将 GIF 放置在另一个 GIF 上,其中两个 GIF 的大小不同

c++ - 实现主从