目录
TempData临时数据,用来保存画笔相关的信息,如:颜色,大小,坐标等
详细解释:
TempData临时数据,用来保存画笔相关的信息,如:颜色,大小,坐标等
public static class TempData
{
/// <summary>
/// 用来保存上一次坐标点
/// </summary>
public static Point PrevPoint { get; set; }
/// <summary>
/// 画笔的颜色
/// </summary>
public static Color PenColor { get; set; } = Color.Black;
/// <summary>
/// 画笔的粗细
/// </summary>
public static int PenWidth { get; set; } = 2;
}
类声明和成员变量
Form1
类继承自Form
,表示一个Windows表单。paintStart
是一个布尔变量,用于跟踪鼠标是否按下,从而开始绘图。g
是一个Graphics
对象,用于在窗体控件上绘制图像。bmp
是一个Bitmap
对象,用作绘图的画布。public partial class Form1 : Form { bool paintStart = false; // 标识是否开始绘画 Graphics g = null; // 用于绘制图形的Graphics对象 Bitmap bmp = null; // 用于存储绘制内容的Bitmap对象
构造函数
InitializeComponent
方法用于初始化窗体上的控件。g
被初始化为panel2
的Graphics
对象。bmp
被初始化为一个与panel2
控件大小相同的Bitmap
对象。public Form1() { InitializeComponent(); g = panel2.CreateGraphics(); bmp = new Bitmap(panel2.Width, panel2.Height); }
文件菜单项点击事件
- 打开一个文件对话框,让用户选择一个JPG图片文件。
- 如果用户选择了文件并点击了OK,当前的
Bitmap
对象bmp
被替换为用户选择的图片。 - 使用
Graphics
对象g
将新的Bitmap
绘制到panel2
上。private void 文件FToolStripMenuItem_Click(object sender, EventArgs e) { OpenFileDialog dlg = new OpenFileDialog(); dlg.Filter = "图片(*.jpg)|*.JPG"; if (dlg.ShowDialog() == DialogResult.OK) { bmp = new Bitmap(dlg.FileName); g.DrawImage(bmp, new Point(0, 0)); } }