我正在尝试在winforms应用程序中填充一个矩形,而不是在中心填充一个允许背景中的图像显示的椭圆。
任何人都可以给我一个关于这个方法的提示,
感谢。
这是我到目前为止所提出的:
path.AddRectangle(new Rectangle(30, 30, 100, 100));
path.AddEllipse(new Rectangle(50, 50, 60, 60));
gfx.FillPath(new SolidBrush(Color.Black), path);
答案 0 :(得分:10)
protected override void OnPaint(PaintEventArgs e){
var rgn = new Region(new Rectangle(50, 50, 200, 100));
var path = new GraphicsPath();
path.AddEllipse(60, 60, 180, 80);
rgn.Exclude(path);
e.Graphics.FillRegion(Brushes.Blue, rgn);
}
答案 1 :(得分:1)
简单方法:
答案 2 :(得分:1)
目前还不清楚那里需要什么样的透明度。简单的方法是反转问题。使用TextureBrush使用Graphics.FillEllipse()。
绘制图像答案 3 :(得分:1)
您可以尝试使用regions。创建一个矩形区域,排除一个椭圆,然后填充它。