我是一名在学校学习C#的学生,在我们的图形部门有一个项目到期。我用点创建了一棵圣诞树并填充它。现在我正在寻找在我已经在树中声明的范围内创建椭圆形装饰物。有没有办法让这些椭圆只在我的树内,并让它们根据树中的随机数生成器进行更改?谢谢。如何在设定范围内的随机点绘制椭圆?
这是我的代码树。我制作的椭圆是雪花。 SolidBrush green = new SolidBrush(Color.Green);
Pen greentree = new Pen(Color.Green);
Point[] christmastree = new Point[11];
christmastree[0] = new Point(518, 400);
christmastree[1] = new Point(620, 300);
christmastree[2] = new Point(549, 300);
christmastree[3] = new Point(645, 185);
christmastree[4] = new Point(607, 185);
christmastree[5] = new Point(673, 102);
christmastree[6] = new Point(744, 185);
christmastree[7] = new Point(706, 185);
christmastree[8] = new Point(793, 300);
christmastree[9] = new Point(720, 300);
christmastree[10] = new Point(835, 400);
g.DrawPolygon(greentree, christmastree);
g.FillPolygon(green, christmastree);
//Snow
Random r = new Random();
SolidBrush snowsb = new SolidBrush(Color.White);
for(int i = 1; i <= 40; i++)
{
int snowflake_x = r.Next(1000);
int snowflake_y = r.Next(500);
g.FillEllipse(snowsb, snowflake_x, snowflake_y, 4,4);
}
就像我说的,我在这个C#领域非常缺乏经验。谢谢
你应该张贴你的树和/或你已经为椭圆做的一些代码。是的,这是可能的,但我们需要更好地理解我们正在帮助您的工作。 –
你的目标是什么:Winforms? WPF? ASP? ...? __Always__相应地标记您的问题!如果你有一个点的多边形列表,你可以使用它制作的图形路径,并测试GP.IsVisible(Point),看看你的椭圆的中心是否在树区域.. – TaW
刚刚发布我的代码。非常感谢 – CJH