Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/325.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# 使用系统绘制透明椭圆。在.Net核心上绘制将变为白色_C#_.net Core_System.drawing_Ubuntu 18.04 - Fatal编程技术网

C# 使用系统绘制透明椭圆。在.Net核心上绘制将变为白色

C# 使用系统绘制透明椭圆。在.Net核心上绘制将变为白色,c#,.net-core,system.drawing,ubuntu-18.04,C#,.net Core,System.drawing,Ubuntu 18.04,所以我在我的ubuntu 18.04系统上使用了System.Drawing。它工作得很好,但当我试图画一些透明的东西时,它是完全白色的。它可以在VS中的Windows上正常工作,其他一切都是透明的,就像背景一样。 这是我的代码: using (Bitmap bitmap = new Bitmap(2048, 2048)) { using (Graphics gfx = Graphics.FromImage(bitmap)) { gfx.Clear(Color

所以我在我的ubuntu 18.04系统上使用了
System.Drawing
。它工作得很好,但当我试图画一些透明的东西时,它是完全白色的。它可以在VS中的Windows上正常工作,其他一切都是透明的,就像背景一样。

这是我的代码:

using (Bitmap bitmap = new Bitmap(2048, 2048))  
{
    using (Graphics gfx = Graphics.FromImage(bitmap))
    {
        gfx.Clear(Color.Transparent);
        gfx.SmoothingMode = SmoothingMode.AntiAlias;
        gfx.CompositingMode = CompositingMode.SourceCopy;
        gfx.FillPie(new SolidBrush(Color.FromArgb(37, 107, 125)), 350, 350, 1324, 1324, 270, 180);
        gfx.FillPie(new SolidBrush(Color.FromArgb(244, 175, 55)), 350, 350, 1324, 1324, 450, 180);
        gfx.FillEllipse(Brushes.Transparent, 610, 610, 794, 794);

         ...
    }
}

黄色圆是中意的,而不是中间的白色的,它应该是OC的。< /P> 谢谢你的帮助


我不做.NET核心。它支持GraphicsPaths吗?它们位于Winforms中的System.Drawing.Drawing2D中。我可以使用名称空间System.Drawing.Drawing2D。为什么要问这个问题@TaWBecause使用GrphicsPath创建孔的替代方法。看我答案的最后一部分!可以在这里发送链接吗@什么链接?你拥有什么?