如何在黑色圆圈中画红色圆圈?C#
我在如何在黑色圆圈中画红色圆圈?C#,c#,paint,C#,Paint,我在panel1上画点进行点和框游戏。我想在它们周围画黑色的圆圈和红色的圆圈,但由于某些原因,我的红色圆圈的一半画得很好,另一半移到了右边。我尝试了不同的偏移,但若面板的右侧绘制得很好,那个么左侧绘制得不好。 ; private void panel 1_Paint(对象发送器,PaintEventArgs e) { 图形=e.图形; 对于(int i=0;i您可以在第一个for循环中同时绘制它们,而忽略第二个for循环(删除它): 使用相同的计算来找到绘图起点,然后,x和y位置都减
panel1
上画点进行点和框游戏。我想在它们周围画黑色的圆圈和红色的圆圈,但由于某些原因,我的红色圆圈的一半画得很好,另一半移到了右边。我尝试了不同的偏移,但若面板的右侧绘制得很好,那个么左侧绘制得不好。
;
private void panel 1_Paint(对象发送器,PaintEventArgs e)
{
图形=e.图形;
对于(int i=0;i您可以在第一个for循环中同时绘制它们,而忽略第二个for循环(删除它):
使用相同的计算来找到绘图起点,然后,x和y位置都减少1,宽度和高度增加2
希望这有帮助
graphics.FillEllipse(new SolidBrush(Color.Black), i * ((panel1.Width - 10) / numberOfColumns), j * ((panel1.Height - 10) / numberOfRows), dotWidth, dotHeight);
graphics.DrawEllipse(new Pen(Color.Red, 1f), i * ((panel1.Width-10) / numberOfColumns)-1, j * ((panel1.Height - 10) / numberOfRows)-1, dotWidth+2, dotHeight+2);
您可以在第一个for循环中同时绘制它们,而忽略第二个for循环(删除它):
使用相同的计算来找到绘图起点,然后,x和y位置都减少1,宽度和高度增加2
希望这有帮助
graphics.FillEllipse(new SolidBrush(Color.Black), i * ((panel1.Width - 10) / numberOfColumns), j * ((panel1.Height - 10) / numberOfRows), dotWidth, dotHeight);
graphics.DrawEllipse(new Pen(Color.Red, 1f), i * ((panel1.Width-10) / numberOfColumns)-1, j * ((panel1.Height - 10) / numberOfRows)-1, dotWidth+2, dotHeight+2);
您可能需要编写一个新的帮助器方法,在特定的中心位置绘制一个带有红色边框的黑色圆圈。然后,您可以从for
循环调用此方法。您可能需要编写一个新的帮助器方法,在特定的中心位置绘制一个带有红色边框的黑色圆圈。然后,您可以从调用此方法ode>用于循环。