Go MagickWand 7 API:如何移植MagickSetImageClipMask调用

Go MagickWand 7 API:如何移植MagickSetImageClipMask调用,go,imagemagick,porting,magickwand,Go,Imagemagick,Porting,Magickwand,ImageMagick 7放弃了这个调用,但我找不到任何在新版本中如何复制其功能的示例。我的目标是用面具合成两幅图像。下面是我在版本6中所做的大大简化的go代码 func CleanUpImage(originalImage, maskImage *imagick.MagickWand) (*imagick.MagickWand, error) { err error; targetImage = imagick.NewMagickWand(); pw =

ImageMagick 7放弃了这个调用,但我找不到任何在新版本中如何复制其功能的示例。我的目标是用面具合成两幅图像。下面是我在版本6中所做的大大简化的go代码

func CleanUpImage(originalImage, maskImage *imagick.MagickWand) (*imagick.MagickWand, error) {

    err error;
    
    targetImage = imagick.NewMagickWand();  
    pw = imagick.NewPixelWand();

    width = originalImage.GetImageWidth(); 
    height = originalImage.GetImageHeight();
    _ = pw.SetColor("white");
    
    _ = targetImage.NewImage(width, height, pw);

    _ = targetImage.SetImageClipMask(maskImage);

    _ = targetImage.CompositeImage(originalImage, imagick.COMPOSITE_OP_COPY, 0, 0);
    
    return targetImage, err;
}
有人能给我一些关于在版本7中运行这个的指导吗


谢谢

我不熟悉GO绑定,但是在ImageMagick-7中,
MagickSetImageClipMask()
MagickSetImageMask()
替换。唯一的区别是用户可以定义掩码的方向(读/写)

要匹配ImageMagick-6的ClipMask,您需要将图像掩码设置为写入

MagickSetImageMask(图像魔杖、写像素魔杖、魔杖);

谢谢,但我没有看到这个。出于某种原因,调用没有在go绑定中实现。它当前没有在go绑定中实现,因为我没有看到它在ImageMagick头中声明:知道为什么它似乎只在源代码中定义吗@jdi看起来像是您发现了一个bug(或疏忽?),但不暴露于标题。