C#WPF界面中拍图图片显示在界面,在图中选中一块区域,该选中区域用红框表示,在选中区域中心对称的地方自动生成和选中区域相同像素大小的区域,用绿框表示
在C# WPF中创建这样的功能,首先你需要做的是设置一个用户界面,通常会包含一个Image控件用于显示图片,以及一些UI元素如Rectangle用于绘制边界。这里是一个简化的步骤:
设置基本环境:
- 在XAML中,将图片作为
Image
控件的Source
属性,例如:
然后在背后代码中加载图片文件。<Image Name="pictureBox" Stretch="UniformToFill" />
- 在XAML中,将图片作为
选择并标记选区:
- 可能需要使用鼠标事件处理程序(如MouseDown、MouseMove、MouseUp),通过拖动鼠标来选定区域。可以使用
Rectangle
来动态绘制红色边框:<Rectangle x:Name="selectionRect" Stroke="Red" Fill="Transparent" />
- 可能需要使用鼠标事件处理程序(如MouseDown、MouseMove、MouseUp),通过拖动鼠标来选定区域。可以使用
计算并生成对称区域:
当用户释放鼠标时,获取选区的位置和尺寸,然后计算出对称点,创建一个新的绿色矩形: ```csharp private void OnSelectAreaReleased(Point start, Point end) { // ... 获取选区信息 var center = (start + end) / 2; var size = new Size(Math.Abs(end.X - start.X), Math.Abs(end.Y - start.Y));
// 创建绿色矩形 var symmetricRect = new Rectangle(); symmetricRect.Width = size.Width; symmetricRect.Height = size.Height; symmetricRect.Margin = new Thickness(center.X - size.Width / 2, center.Y - size.Height / 2); symmetricRect.Stroke = Brushes.Green; symmetricRect.Fill = Brushes.Transparent; // 添加到UI上或更新现有矩形的位置
}
绑定鼠标事件:
- 给相应的矩形和图像添加鼠标事件处理器,以便跟踪用户的交互。
清理和管理:
- 在不需要的时候记得清除旧的矩形和存储的数据,以免内存泄漏。
相关推荐


















