ImageMagick compose:args="" 到 Magick++ API

ImageMagick compose:args="" to Magick++ API

我正在尝试将以下 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;
}