添加10像素和15像素画笔大小按钮,并将CreateBrushSizeImage方法迁移到Setting.cs
This commit is contained in:
@@ -159,21 +159,22 @@
|
|||||||
13. 当选中区域时,鼠标可以移动区域,用于调整区域位置。
|
13. 当选中区域时,鼠标可以移动区域,用于调整区域位置。
|
||||||
14. 当选中区域时,右击鼠标,退出选中状态,转为就绪状态
|
14. 当选中区域时,右击鼠标,退出选中状态,转为就绪状态
|
||||||
15. 当就绪状态时,工具栏显示绘制温差图按钮(btnDrawTempDiff)
|
15. 当就绪状态时,工具栏显示绘制温差图按钮(btnDrawTempDiff)
|
||||||
16. 当绘制温差图按钮按下时,进入绘制温差图状态
|
16. 当绘制温差图按钮按下时,进入绘制温差图状态,显示添加和删除温差图例按钮(btnAddTempDiff、btnDeleteTempDiff),显示温差图例列表(dataGridViewTempDiff)
|
||||||
17. 当绘制温差图状态时,右击鼠标进入就绪状态
|
17. 当绘制温差图状态时,右击鼠标进入就绪状态
|
||||||
|
|
||||||
#### 配置状态说明
|
#### 配置状态说明
|
||||||
1. 初始状态/就绪状态:
|
1. 初始状态/就绪状态:
|
||||||
- 显示btnDrawRegion和btnDrawTempDiff按钮
|
- 显示btnDrawRegion和btnDrawTempDiff按钮
|
||||||
- 隐藏btnSelectColor、btnDeleteRegion按钮、dataGridViewTempDiff
|
- 隐藏btnSelectColor、btnDeleteRegion按钮、dataGridViewTempDiff、btnAddTempDiff、btnDeleteTempDiff、btnBrushSize1、btnBrushSize3、btnBrushSize5、btnBrushSize10、btnBrushSize15
|
||||||
2. 选中区域状态:
|
2. 选中区域状态:
|
||||||
- 显示btnDeleteRegion和btnSelectColor按钮
|
- 显示btnDeleteRegion和btnSelectColor按钮
|
||||||
- 隐藏btnDrawRegion和btnDrawTempDiff按钮、dataGridViewTempDiff
|
- 隐藏btnDrawRegion和btnDrawTempDiff按钮、dataGridViewTempDiff、btnAddTempDiff、btnDeleteTempDiff、btnBrushSize1、btnBrushSize3、btnBrushSize5、btnBrushSize10、btnBrushSize15
|
||||||
3. 绘制状态:
|
3. 绘制状态:
|
||||||
- 显示btnSelectColor按钮
|
- 显示btnSelectColor按钮
|
||||||
- 显示btnDrawRegion按钮
|
- 显示btnDrawRegion按钮
|
||||||
- 隐藏btnDeleteRegion按钮
|
- 隐藏btnDeleteRegion按钮
|
||||||
- 隐藏btnDrawTempDiff按钮、dataGridViewTempDiff
|
- 隐藏btnDrawTempDiff按钮、dataGridViewTempDiff、btnAddTempDiff、btnDeleteTempDiff、btnBrushSize1、btnBrushSize3、btnBrushSize5、btnBrushSize10、btnBrushSize15
|
||||||
4. 绘制温差图状态:
|
4. 绘制温差图状态:
|
||||||
- 显示btnDrawTempDiff按钮,显示dataGridViewTempDiff
|
- 显示btnDrawTempDiff按钮,显示dataGridViewTempDiff、btnAddTempDiff、btnDeleteTempDiff
|
||||||
|
- 当选定温差图例后,显示btnBrushSize1、btnBrushSize3、btnBrushSize5、btnBrushSize10、btnBrushSize15
|
||||||
- 隐藏btnSelectColor、btnDeleteRegion、btnDrawRegion按钮
|
- 隐藏btnSelectColor、btnDeleteRegion、btnDrawRegion按钮
|
||||||
@@ -163,6 +163,30 @@ namespace JoyD.Windows.CS
|
|||||||
this.btnBrushSize5.ToolTipText = "选择5像素画笔";
|
this.btnBrushSize5.ToolTipText = "选择5像素画笔";
|
||||||
this.btnBrushSize5.Click += new System.EventHandler(this.BtnBrushSize5_Click);
|
this.btnBrushSize5.Click += new System.EventHandler(this.BtnBrushSize5_Click);
|
||||||
//
|
//
|
||||||
|
// btnBrushSize10
|
||||||
|
//
|
||||||
|
this.btnBrushSize10 = new System.Windows.Forms.ToolStripButton();
|
||||||
|
this.btnBrushSize10.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
|
||||||
|
this.btnBrushSize10.Image = this.CreateBrushSizeImage(10, System.Drawing.Color.Purple);
|
||||||
|
this.btnBrushSize10.ImageTransparentColor = System.Drawing.Color.Magenta;
|
||||||
|
this.btnBrushSize10.Name = "btnBrushSize10";
|
||||||
|
this.btnBrushSize10.Size = new System.Drawing.Size(23, 22);
|
||||||
|
this.btnBrushSize10.Text = "画笔大小10px";
|
||||||
|
this.btnBrushSize10.ToolTipText = "选择10像素画笔";
|
||||||
|
this.btnBrushSize10.Click += new System.EventHandler(this.BtnBrushSize10_Click);
|
||||||
|
//
|
||||||
|
// btnBrushSize15
|
||||||
|
//
|
||||||
|
this.btnBrushSize15 = new System.Windows.Forms.ToolStripButton();
|
||||||
|
this.btnBrushSize15.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
|
||||||
|
this.btnBrushSize15.Image = this.CreateBrushSizeImage(15, System.Drawing.Color.Orange);
|
||||||
|
this.btnBrushSize15.ImageTransparentColor = System.Drawing.Color.Magenta;
|
||||||
|
this.btnBrushSize15.Name = "btnBrushSize15";
|
||||||
|
this.btnBrushSize15.Size = new System.Drawing.Size(23, 22);
|
||||||
|
this.btnBrushSize15.Text = "画笔大小15px";
|
||||||
|
this.btnBrushSize15.ToolTipText = "选择15像素画笔";
|
||||||
|
this.btnBrushSize15.Click += new System.EventHandler(this.BtnBrushSize15_Click);
|
||||||
|
//
|
||||||
// toolStrip
|
// toolStrip
|
||||||
//
|
//
|
||||||
this.toolStrip.AllowDrop = true;
|
this.toolStrip.AllowDrop = true;
|
||||||
@@ -178,7 +202,9 @@ namespace JoyD.Windows.CS
|
|||||||
new System.Windows.Forms.ToolStripSeparator(),
|
new System.Windows.Forms.ToolStripSeparator(),
|
||||||
this.btnBrushSize1,
|
this.btnBrushSize1,
|
||||||
this.btnBrushSize3,
|
this.btnBrushSize3,
|
||||||
this.btnBrushSize5});
|
this.btnBrushSize5,
|
||||||
|
this.btnBrushSize10,
|
||||||
|
this.btnBrushSize15});
|
||||||
this.toolStrip.Location = new System.Drawing.Point(3, 0);
|
this.toolStrip.Location = new System.Drawing.Point(3, 0);
|
||||||
this.toolStrip.Name = "toolStrip";
|
this.toolStrip.Name = "toolStrip";
|
||||||
this.toolStrip.Size = new System.Drawing.Size(104, 25);
|
this.toolStrip.Size = new System.Drawing.Size(104, 25);
|
||||||
@@ -291,30 +317,8 @@ namespace JoyD.Windows.CS
|
|||||||
private System.Windows.Forms.ToolStripButton btnBrushSize1;
|
private System.Windows.Forms.ToolStripButton btnBrushSize1;
|
||||||
private System.Windows.Forms.ToolStripButton btnBrushSize3;
|
private System.Windows.Forms.ToolStripButton btnBrushSize3;
|
||||||
private System.Windows.Forms.ToolStripButton btnBrushSize5;
|
private System.Windows.Forms.ToolStripButton btnBrushSize5;
|
||||||
|
private System.Windows.Forms.ToolStripButton btnBrushSize10;
|
||||||
|
private System.Windows.Forms.ToolStripButton btnBrushSize15;
|
||||||
private System.Windows.Forms.DataGridView dataGridViewTempDiff;
|
private System.Windows.Forms.DataGridView dataGridViewTempDiff;
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// 创建表示画笔大小的图标
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="size">画笔大小(像素)</param>
|
|
||||||
/// <param name="color">画笔颜色</param>
|
|
||||||
/// <returns>表示画笔大小的图标</returns>
|
|
||||||
private System.Drawing.Bitmap CreateBrushSizeImage(int size, System.Drawing.Color color)
|
|
||||||
{
|
|
||||||
System.Drawing.Bitmap bmp = new System.Drawing.Bitmap(20, 20);
|
|
||||||
using (System.Drawing.Graphics g = System.Drawing.Graphics.FromImage(bmp))
|
|
||||||
{
|
|
||||||
// 填充背景为透明色
|
|
||||||
g.Clear(System.Drawing.Color.Magenta);
|
|
||||||
// 计算正方形位置,使其居中
|
|
||||||
int x = (20 - size) / 2;
|
|
||||||
int y = (20 - size) / 2;
|
|
||||||
// 绘制正方形表示画笔大小
|
|
||||||
g.FillRectangle(new System.Drawing.SolidBrush(color), x, y, size, size);
|
|
||||||
// 添加边框
|
|
||||||
g.DrawRectangle(new System.Drawing.Pen(System.Drawing.Color.Black), x, y, size - 1, size - 1);
|
|
||||||
}
|
|
||||||
return bmp;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -49,6 +49,9 @@ namespace JoyD.Windows.CS
|
|||||||
private bool _isMoving = false;
|
private bool _isMoving = false;
|
||||||
private Point _startMovePoint;
|
private Point _startMovePoint;
|
||||||
|
|
||||||
|
// 画笔大小相关变量
|
||||||
|
private int _currentBrushSize = 1; // 默认画笔大小为1像素
|
||||||
|
|
||||||
public Setting()
|
public Setting()
|
||||||
{
|
{
|
||||||
InitializeComponent();
|
InitializeComponent();
|
||||||
@@ -85,6 +88,121 @@ namespace JoyD.Windows.CS
|
|||||||
dataGridViewTempDiff.Visible = false;
|
dataGridViewTempDiff.Visible = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 1像素画笔大小按钮点击事件
|
||||||
|
/// </summary>
|
||||||
|
private void BtnBrushSize1_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
_currentBrushSize = 1;
|
||||||
|
// 更新按钮选中状态
|
||||||
|
UpdateBrushSizeButtonSelection(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 3像素画笔大小按钮点击事件
|
||||||
|
/// </summary>
|
||||||
|
private void BtnBrushSize3_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
_currentBrushSize = 3;
|
||||||
|
// 更新按钮选中状态
|
||||||
|
UpdateBrushSizeButtonSelection(3);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 5像素画笔大小按钮点击事件
|
||||||
|
/// </summary>
|
||||||
|
private void BtnBrushSize5_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
_currentBrushSize = 5;
|
||||||
|
// 更新按钮选中状态
|
||||||
|
UpdateBrushSizeButtonSelection(5);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 10像素画笔大小按钮点击事件
|
||||||
|
/// </summary>
|
||||||
|
private void BtnBrushSize10_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
_currentBrushSize = 10;
|
||||||
|
// 更新按钮选中状态
|
||||||
|
UpdateBrushSizeButtonSelection(10);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 15像素画笔大小按钮点击事件
|
||||||
|
/// </summary>
|
||||||
|
private void BtnBrushSize15_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
_currentBrushSize = 15;
|
||||||
|
// 更新按钮选中状态
|
||||||
|
UpdateBrushSizeButtonSelection(15);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 创建表示画笔大小的图标
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="size">画笔大小(像素)</param>
|
||||||
|
/// <param name="color">画笔颜色</param>
|
||||||
|
/// <returns>表示画笔大小的图标</returns>
|
||||||
|
private System.Drawing.Bitmap CreateBrushSizeImage(int size, System.Drawing.Color color)
|
||||||
|
{
|
||||||
|
System.Drawing.Bitmap bmp = new System.Drawing.Bitmap(20, 20);
|
||||||
|
using (System.Drawing.Graphics g = System.Drawing.Graphics.FromImage(bmp))
|
||||||
|
{
|
||||||
|
// 填充背景为透明色
|
||||||
|
g.Clear(System.Drawing.Color.Magenta);
|
||||||
|
// 计算正方形位置,使其居中
|
||||||
|
int x = (20 - size) / 2;
|
||||||
|
int y = (20 - size) / 2;
|
||||||
|
// 绘制正方形表示画笔大小
|
||||||
|
g.FillRectangle(new System.Drawing.SolidBrush(color), x, y, size, size);
|
||||||
|
// 添加边框
|
||||||
|
g.DrawRectangle(new System.Drawing.Pen(System.Drawing.Color.Black), x, y, size - 1, size - 1);
|
||||||
|
}
|
||||||
|
return bmp;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 更新画笔大小按钮的选中状态
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="selectedSize">当前选中的画笔大小</param>
|
||||||
|
private void UpdateBrushSizeButtonSelection(int selectedSize)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
// 清除所有按钮的选中状态
|
||||||
|
btnBrushSize1.Checked = false;
|
||||||
|
btnBrushSize3.Checked = false;
|
||||||
|
btnBrushSize5.Checked = false;
|
||||||
|
btnBrushSize10.Checked = false;
|
||||||
|
btnBrushSize15.Checked = false;
|
||||||
|
|
||||||
|
// 设置当前选中按钮的选中状态
|
||||||
|
switch (selectedSize)
|
||||||
|
{
|
||||||
|
case 1:
|
||||||
|
btnBrushSize1.Checked = true;
|
||||||
|
break;
|
||||||
|
case 3:
|
||||||
|
btnBrushSize3.Checked = true;
|
||||||
|
break;
|
||||||
|
case 5:
|
||||||
|
btnBrushSize5.Checked = true;
|
||||||
|
break;
|
||||||
|
case 10:
|
||||||
|
btnBrushSize10.Checked = true;
|
||||||
|
break;
|
||||||
|
case 15:
|
||||||
|
btnBrushSize15.Checked = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
Console.WriteLine("更新画笔大小按钮状态失败: " + ex.Message);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 鼠标按下事件 - 处理右击退出绘制状态、左击开始绘制矩形和开始调整区域大小
|
/// 鼠标按下事件 - 处理右击退出绘制状态、左击开始绘制矩形和开始调整区域大小
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -176,9 +294,8 @@ namespace JoyD.Windows.CS
|
|||||||
// 检查是否是温差值列
|
// 检查是否是温差值列
|
||||||
if (dataGridViewTempDiff.CurrentCell.ColumnIndex == dataGridViewTempDiff.Columns["tempDiffValue"].Index)
|
if (dataGridViewTempDiff.CurrentCell.ColumnIndex == dataGridViewTempDiff.Columns["tempDiffValue"].Index)
|
||||||
{
|
{
|
||||||
// 获取TextBox编辑控件
|
// 获取TextBox编辑控件 - 使用模式匹配
|
||||||
TextBox tb = e.Control as TextBox;
|
if (e.Control is TextBox tb)
|
||||||
if (tb != null)
|
|
||||||
{
|
{
|
||||||
// 清除之前的处理程序
|
// 清除之前的处理程序
|
||||||
tb.KeyPress -= new KeyPressEventHandler(TempDiffValueTextBox_KeyPress);
|
tb.KeyPress -= new KeyPressEventHandler(TempDiffValueTextBox_KeyPress);
|
||||||
@@ -906,8 +1023,8 @@ namespace JoyD.Windows.CS
|
|||||||
// 设置高质量绘图
|
// 设置高质量绘图
|
||||||
g.SmoothingMode = SmoothingMode.AntiAlias;
|
g.SmoothingMode = SmoothingMode.AntiAlias;
|
||||||
|
|
||||||
// 使用每个区域自己的颜色绘制矩形
|
// 使用每个区域自己的颜色和当前选择的画笔大小绘制矩形
|
||||||
g.DrawRectangle(new Pen(region.Color, 2), region.ImageRectangle);
|
g.DrawRectangle(new Pen(region.Color, _currentBrushSize), region.ImageRectangle);
|
||||||
|
|
||||||
// 绘制区域序号
|
// 绘制区域序号
|
||||||
using (Font font = new Font("Arial", 12, FontStyle.Bold))
|
using (Font font = new Font("Arial", 12, FontStyle.Bold))
|
||||||
|
|||||||
Reference in New Issue
Block a user