C# GDI+ 绘制云图,请给出具体代码
时间: 2024-02-11 22:09:48 浏览: 164
以下是使用C# GDI+绘制云图的代码示例:
```csharp
// 创建一个大小为 400x400 的位图
Bitmap bmp = new Bitmap(400, 400);
Graphics g = Graphics.FromImage(bmp);
// 设置背景颜色为白色
g.Clear(Color.White);
// 定义云图的参数
int centerX = 200; // 中心点x坐标
int centerY = 200; // 中心点y坐标
int radius = 150; // 云形半径
int cloudiness = 50; // 云密度,值越大,云越密集
// 绘制云图
for (int i = 0; i < 100000; i++)
{
// 随机生成一个点
int x = new Random(i).Next(400);
int y = new Random(i * 2).Next(400);
// 计算该点到云形中心的距离
double distance = Math.Sqrt((x - centerX) * (x - centerX) + (y - centerY) * (y - centerY));
// 根据距离和云密度计算该点颜色
int colorValue = 255 - (int)(distance / radius * cloudiness);
// 防止颜色值小于0
if (colorValue < 0)
{
colorValue = 0;
}
// 绘制该点
g.FillRectangle(new SolidBrush(Color.FromArgb(colorValue, Color.White)), x, y, 1, 1);
}
// 保存位图
bmp.Save("cloud.png", ImageFormat.Png);
```
运行上述代码将生成一个名为 `cloud.png` 的云图,保存在程序所在目录下。你可以根据自己的需求调整云图的参数,生成不同形态的云图。
阅读全文