“熊猫视图”.Net图形控件功能介绍 [十三]:图元操作
“熊猫视图”控件允许加载和显示图像资源,支持常用的图像格式,使用代码如下:
//定义图像对象
PandaView.Picture p = new PandaView.Picture();
//图像位置
p.Points = new[] { new PointF(400, 400) };
//是否跟随视图缩放
p.AllowZoom = true;
//是否固定尺寸
p.FixSize = true;
//是否显示边框
p.Edge = true;
//边框颜色
p.EdgePen = Pens.Blue;
//图像源
p.Image = Image.FromFile(@"d:\演示图\1.jpg");
//建立图像对象
p.Creat(pandaView1);
运行效果如下:

当设置 AllowZoom属性为false, 并且把左上角的文字对齐图像左上角时,当视图缩放时图像大小保持不变,通常用于图像标注用途。效果如下:

属性 FixSize 用于设置图像显示时尺寸是否使用自身大小,还是使用用户指定的大小。此属性设置为false时,将使用用户传入的第2个点位值,即右下角位置。修改位置参数为
//图像位置
p.Points = new[] { new PointF(400, 400), new PointF(600, 600) };
//是否跟随视图缩放
p.AllowZoom = true;
即图像左上角定位在(400,400),右下角定位在(600,600),显示尺寸为200x200像素。
演示效果如下:

除了在代码中加载图片,“熊猫视图”控件还支持从资源管理器中鼠标拖拽加载图片的功能。
//启用拖拽
pandaView1.AllowDrop = true;
演示效果如下:

在鼠标拖拽事件过程中,“熊猫视图”控件提供了两个用户事件,分别是定制拖拽时的图片边框样式,和拖拽后的图像边框样式。

如下代码演示上述两个定制功能:
1、定制拖拽图片时的边框样式为金色虚线粗边框
2、定制拖拽图片后的边框样式为红色虚线粗边框
//定制鼠标拖拽时图像边框
private void pandaView1_DragPictureOver(object sender, PandaView.DragPictureOverEventArgs e)
{
//获取边框绘制画笔
Pen p = e.Pen;
//定义边框颜色为金色
p.Color = Color.Gold;
//定义边框宽度为5
p.Width = 5;
//定义边框样式为虚线
p.DashStyle = DashStyle.Dot;
}
//定制鼠标释放时图像边框
private void pandaView1_DragPicture(object sender, PandaView.DragPictureEventArgs e)
{
PandaView.Picture p = e.DragPicture[0];
//显示边框
p.Edge = true;
//定义边框颜色为红色
p.EdgePen.Color = Color.Red;
//定义边框宽度为5
p.EdgePen.Width = 5;
//定义边框样式为虚线
p.EdgePen.DashStyle = DashStyle.Dot;
}
运行效果如下:

自由定制功能是本控件设计宗旨之一。