给一段C sharp绘制位图的程序代码
时间: 2023-09-04 17:03:52 浏览: 143
### 回答1:
下面是一段绘制红色位图的 C# 代码示例:
```
using System;
using System.Drawing;
using System.Drawing.Imaging;
class Program
{
static void Main(string[] args)
{
// 创建位图对象
Bitmap bitmap = new Bitmap(200, 200);
// 获取位图的图像数据
BitmapData data = bitmap.LockBits(
new Rectangle(0, 0, bitmap.Width, bitmap.Height),
ImageLockMode.ReadWrite,
PixelFormat.Format24bppRgb
);
// 获取图像数据的指针
unsafe
{
byte* p = (byte*)data.Scan0;
// 遍历图像数据,并将其全部设置为红色
for (int i = 0; i < data.Height; i++)
{
for (int j = 0; j < data.Width; j++)
{
p[i * data.Stride + j * 3 + 0] = 255; // R
p[i * data.Stride + j * 3 + 1] = 0; // G
p[i * data.Stride + j * 3 + 2] = 0; // B
}
}
}
// 释放位图的图像数据
bitmap.UnlockBits(data);
// 保存位图
bitmap.Save("red.bmp", ImageFormat.Bmp);
}
}
```
该代码将会创建一个200*200大小, 红色背景的位图,并将其保存到名为"red.bmp"的文件中。
### 回答2:
以下是一个使用C#编写的绘制位图的简单程序代码:
```csharp
using System;
using System.Drawing;
class Program
{
static void Main()
{
// 创建一个位图对象,大小为100x100像素,像素格式为32位RGB
Bitmap bitmap = new Bitmap(100, 100, System.Drawing.Imaging.PixelFormat.Format32bppRgb);
// 创建一个绘图对象
Graphics graphics = Graphics.FromImage(bitmap);
// 设置绘图的背景色为白色
graphics.Clear(Color.White);
// 在位图上绘制一个红色的矩形
graphics.FillRectangle(Brushes.Red, new Rectangle(10, 10, 80, 80));
// 保存位图为文件
bitmap.Save("output.bmp");
// 释放绘图对象和位图对象的资源
graphics.Dispose();
bitmap.Dispose();
}
}
```
这段代码首先创建了一个100x100像素的位图对象,并指定像素格式为32位RGB。然后使用`Graphics`类创建了一个绘图对象,并通过`Clear`方法设置了绘图的背景色为白色。接着使用`FillRectangle`方法在位图上绘制一个红色的矩形。最后,通过`bitmap.Save`方法将位图保存为文件。最后,使用`Dispose`方法释放了绘图对象和位图对象的资源,以防止内存泄漏。
### 回答3:
下面是一个使用C#绘制位图的代码示例:
```csharp
using System;
using System.Drawing;
class Program
{
static void Main(string[] args)
{
// 创建一个位图对象
Bitmap bitmap = new Bitmap(500, 500);
// 创建一个绘图对象
Graphics graphics = Graphics.FromImage(bitmap);
// 设置绘图的背景颜色为白色
graphics.Clear(Color.White);
// 创建一个画笔对象,设置颜色为红色
Pen pen = new Pen(Color.Red);
// 在绘图对象上绘制一个矩形
graphics.DrawRectangle(pen, 100, 100, 300, 300);
// 保存位图对象到指定路径
bitmap.Save("bitmap.png");
// 释放资源
graphics.Dispose();
bitmap.Dispose();
Console.WriteLine("位图绘制完成!");
}
}
```
以上代码创建了一个500x500大小的位图对象,并使用红色画笔在位图上绘制了一个宽300、高300的矩形。然后将绘制完成的位图保存为`bitmap.png`文件。最后释放了相关资源并输出绘图完成的提示信息。
阅读全文