画不相交的饼图C#
我想要60个5度的馅饼片,每个有1度的间隔。然而,使用下面的代码,结果看起来像下面的图像,中间有一个大的黑色中心,我是否可以修改代码来避免这种情况画不相交的饼图C#,c#,drawing,C#,Drawing,我想要60个5度的馅饼片,每个有1度的间隔。然而,使用下面的代码,结果看起来像下面的图像,中间有一个大的黑色中心,我是否可以修改代码来避免这种情况 Graphics g = panel1.CreateGraphics(); // Create pen. Pen blackPen = new Pen(Color.Black, 1); // Create rectangle for ellipse. //RectangleF rect = new Rect
Graphics g = panel1.CreateGraphics();
// Create pen.
Pen blackPen = new Pen(Color.Black, 1);
// Create rectangle for ellipse.
//RectangleF rect = new RectangleF(150.0F, 10.0F, 200F, 300.0F);
// Create start and sweep angles.
float startAngle = 270F;
float sweepAngle = 4F;
for (int i = 0; i < 60; i++ )
{
RectangleF rect = new RectangleF(50F, 10.0F, 200F, 200F);
startAngle = startAngle + 6F;
g.DrawPie(blackPen, rect, startAngle, sweepAngle);
//start = start + 1f;
}
Graphics g=panel1.CreateGraphics();
//创建钢笔。
钢笔黑色钢笔=新钢笔(Color.Black,1);
//为椭圆创建矩形。
//矩形F矩形=新矩形F(150.0F、10.0F、200F、300.0F);
//创建起始角和扫掠角。
浮式星形缠绕=270F;
浮动扫掠角=4F;
对于(int i=0;i<60;i++)
{
矩形F矩形=新矩形F(50F,10.0F,200F,200F);
startAngle=startAngle+6F;
g、 DrawPie(黑笔、矩形、星形、扫掠角);
//启动=启动+1f;
}
这种效果称为莫尔图案
为了避免这种情况,请增大切片之间的距离。数量取决于饼图的大小和显示分辨率。为了使距离更大,你可以画一个更大的饼,但你会发现切片将争夺像素。你可以接受这种效果,也可以将切片向外推。你会让它做什么?只有这么多的像素可用,而且大多数像素都被至少一个单独的切片绘制成黑色。正常情况下,中心是黑色的。试着用笔在纸上画画,你会看到同样的结果。你可以把你的切片变短,但是你会发现你的馅饼上有一个白色区域。请不要在你的帖子上签名。看见