实现选中区域时显示btnDeleteRegion和btnSelectColor按钮,以及修改选中区域颜色的功能
This commit is contained in:
@@ -151,4 +151,5 @@
|
|||||||
5. 当btnDrawRegion按下后,处于绘制状态, btnSelectColor才显示出来
|
5. 当btnDrawRegion按下后,处于绘制状态, btnSelectColor才显示出来
|
||||||
6. 当就绪状态时,鼠标移到区域内,该区域内填充半透明色,当有多个重叠时,填充索引号最大的区域
|
6. 当就绪状态时,鼠标移到区域内,该区域内填充半透明色,当有多个重叠时,填充索引号最大的区域
|
||||||
7. 当鼠标在半透明区域内单击时,该区域填充半透明色,且显示八个句柄,表示选中该区域。
|
7. 当鼠标在半透明区域内单击时,该区域填充半透明色,且显示八个句柄,表示选中该区域。
|
||||||
8. 选中区域时,工具栏显示删除按钮。
|
8. 选中区域时,工具栏显示按钮btnDeleteRegion和btnSelectColor。
|
||||||
|
9. 当选中区域时,btnSelectColor用于改变选中区域的颜色。
|
||||||
@@ -600,6 +600,18 @@ namespace JoyD.Windows.CS
|
|||||||
// 更新按钮图标,显示新选择的颜色
|
// 更新按钮图标,显示新选择的颜色
|
||||||
UpdateColorButtonIcon();
|
UpdateColorButtonIcon();
|
||||||
|
|
||||||
|
// 如果有区域被选中,更新该区域的颜色
|
||||||
|
if (_selectedRegionIndex != -1)
|
||||||
|
{
|
||||||
|
RegionInfo selectedRegion = _drawnRectangles.FirstOrDefault(r => r.Index == _selectedRegionIndex);
|
||||||
|
if (selectedRegion != null)
|
||||||
|
{
|
||||||
|
selectedRegion.Color = _selectedColor;
|
||||||
|
// 重新创建叠加层图像以反映颜色变化
|
||||||
|
CreateRectangleOverlayImage();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// 重绘图片区域,显示新颜色的矩形
|
// 重绘图片区域,显示新颜色的矩形
|
||||||
picBoxTemp.Invalidate();
|
picBoxTemp.Invalidate();
|
||||||
}
|
}
|
||||||
@@ -753,14 +765,16 @@ namespace JoyD.Windows.CS
|
|||||||
_selectedRegionIndex = -1;
|
_selectedRegionIndex = -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
// 更新删除按钮的可见性
|
// 更新删除按钮和颜色选择按钮的可见性
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
btnDeleteRegion.Visible = (_selectedRegionIndex != -1);
|
bool isRegionSelected = (_selectedRegionIndex != -1);
|
||||||
|
btnDeleteRegion.Visible = isRegionSelected;
|
||||||
|
btnSelectColor.Visible = isRegionSelected;
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
Console.WriteLine("更新删除按钮可见性失败: " + ex.Message);
|
Console.WriteLine("更新按钮可见性失败: " + ex.Message);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 刷新绘制
|
// 刷新绘制
|
||||||
|
|||||||
Reference in New Issue
Block a user