【问题标题】:MagickWand 7 API: how to port MagickSetImageClipMask callMagickWand 7 API:如何移植 MagickSetImageClipMask 调用
【发布时间】:2021-07-12 11:15:16
【问题描述】:

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 porting magickwand


    【解决方案1】:

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

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

    MagickSetImageMask(image_wand, WritePixelMask, mask_wand);
    

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-09-23
    • 1970-01-01
    • 2020-03-22
    • 1970-01-01
    • 1970-01-01
    • 2016-03-07
    • 1970-01-01
    相关资源
    最近更新 更多