在位图上绘制椭圆并返回带有椭圆的位图
Posted
技术标签:
【中文标题】在位图上绘制椭圆并返回带有椭圆的位图【英文标题】: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);
【问题讨论】:
【参考方案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;
【讨论】:
以上是关于在位图上绘制椭圆并返回带有椭圆的位图的主要内容,如果未能解决你的问题,请参考以下文章