1

我正在尝试将以下 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++ 等价物吗?

4

1 回答 1

5

您需要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 使用 Magick++

于 2015-12-16T14:27:17.057 回答