Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/295.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何使用Magick.net合成两幅图像_C#_Azure_Azure Storage Blobs_Magick.net - Fatal编程技术网

C# 如何使用Magick.net合成两幅图像

C# 如何使用Magick.net合成两幅图像,c#,azure,azure-storage-blobs,magick.net,C#,Azure,Azure Storage Blobs,Magick.net,我目前正在尝试使用Magick.net从我的Azure存储中合成两个blob图像 它几乎起作用了。但我想我只是需要一些微调,我不知道怎么做 图像1=主(背景) 图像2=覆盖 例行程序: 图2实际上是一个带有黑色背景的peninput。因此,我需要将背景从黑色变为透明,并调整到与Image1相同的大小。 在此之后,我使用一个函数在image1上合成Image2 这是我的功能,但不起作用 public MagickImage ComebineBitmap(MagickImage Ma

我目前正在尝试使用Magick.net从我的Azure存储中合成两个blob图像

它几乎起作用了。但我想我只是需要一些微调,我不知道怎么做

图像1=主(背景) 图像2=覆盖

例行程序: 图2实际上是一个带有黑色背景的peninput。因此,我需要将背景从黑色变为透明,并调整到与Image1相同的大小。 在此之后,我使用一个函数在image1上合成Image2

这是我的功能,但不起作用

        public MagickImage ComebineBitmap(MagickImage Main, MagickImage Overlay)
    {
        Main.Composite(Overlay);
        Overlay.Resize(Main.BaseWidth, Main.BaseHeight);
        Overlay.Transparent(MagickColors.Black);
        Main.Composite(Overlay);
        return Main;
    }
    public MagickImage ComebineBitmap(MagickImage Main, MagickImage Overlay)
    {
    MagickGeometry gm = new MagickGeometry();
    gm.Width = Main.Width;
    gm.Height = Main.Height;
    gm.IgnoreAspectRatio = true;

        Overlay.Density = Main.Density;
        Overlay.BitDepth(Main.BitDepth());

        Overlay.LiquidRescale(gm);
        Overlay.Transparent(MagickColors.Black);

        Main.Composite(Overlay, CompositeOperator.SrcOver);

       return Main;
    }