【问题标题】:DrawEllipse on Bitmap and return the Bitmap with the ellipse on it在位图上绘制椭圆并返回带有椭圆的位图
【发布时间】:2021-11-20 14:51:04
【问题描述】:

我正在使用图形来绘制椭圆,并且我想返回一个包含该椭圆的位图。 我的代码有意义吗?

    private static Graphics ChipCanvas = Graphics.FromImage(new Bitmap(60, 60));
    
    public override Bitmap GetImage()
            {
              
                if (Color == PieceColors.Black)
                    ChipCanvas.FillEllipse(Brushes.Black, 0, 0, 5, 5);
                else
                    ChipCanvas.FillEllipse(Brushes.White, 0, 0, 5, 5);
    
                

                return new Bitmap(60, 60, ChipCanvas);
            }

【问题讨论】:

    标签: c# .net windows winforms system.drawing


    【解决方案1】:

    不,它没有。图形对象不是持久画布。他们画画然后忘记。位图就是画布。

    试试这样:

    private Bitmap bitmap = new Bitmap(60, 60);
    
    public Bitmap GetImage()
    {
      using (var g = Graphics.FromImage(bitmap))
      {
        g.SmoothingMode = SmoothingMode.AntiAlias;
        g.FillEllipse(Brushes.Black, 0, 0, 5, 5);
      }
      return bitmap;
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多