“熊猫视图”.Net图形控件已经提供若干基础视图工具。目前有 ZoomIn,ZoomOut,Pan,ZoomInArea,SelectShape,BoxSelect,MoveShape,FreeDraw等若干类型,可自由扩充。
/// <summary>
/// 视图操作工具
/// </summary>
public enum ViewTools : int
{
/// <summary>
/// 无
/// </summary>
None,
/// <summary>
/// 放大视图
/// </summary>
ZoomIn,
/// <summary>
/// 缩小视图
/// </summary>
ZoomOut,
/// <summary>
/// 平移视图
/// </summary>
Pan,
/// <summary>
/// 放大视图区域
/// </summary>
ZoomInArea,
/// <summary>
/// 框选对象
/// </summary>
BoxSelect,
/// <summary>
/// 选择对象
/// </summary>
SelectShape,
/// <summary>
/// 移动对象
/// </summary>
MoveShape,
/// <summary>
/// 自由绘图
/// </summary>
FreeDraw
}
使用一行代码即可设置为视图局部放大功能:
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
//视图局部放大
pandaView1.ViewTool = PandaView.ViewTools.ZoomInArea;
}
}
}
局部放大演示效果如下:
“熊猫视图”控件也支持局部放大框样式的定制,定制对象包括鼠标、边框、颜色,透明度。对鼠标的定制和平移鼠标定制一样,都是实例化ViewCustomCursor类。
完整的定制代码如下:
private void Form1_Load(object sender, EventArgs e)
{
/* 1.开始定制放大区域鼠标光标样式类 */
PandaView.ViewCustomCursor c = new PandaView.ViewCustomCursor();
//定制放大区域时的鼠标样式
c.ZoomInAreaCursor = Cursors.Hand;
//定制放大区域按下鼠标时的样式
c.ZoomInAreaDownCursor = Cursors.Hand;
//将鼠标样式指定给熊猫视图
pandaView1.CustomCursor = c;
/* 2.开始定制放大框样式类 */
PandaView.ViewZoomInAreaStyle s = new PandaView.ViewZoomInAreaStyle();
//红色边框,2像素宽度
s.ZoomInAreaPen = new Pen(Color.Red, 2);
//边框虚线
s.ZoomInAreaPen.DashStyle = DashStyle.Dot;
//透明黄色填充笔刷
s.ZoomInAreaBrush = new SolidBrush(Color.FromArgb(100, 255, 255, 0));
//将放大局部样式指定给熊猫视图
pandaView1.ZoomInAreaStyle = s;
}