“熊猫视图”.Net图形控件功能介绍 [七]:视图局部放大

“熊猫视图”.Net图形控件功能介绍 [八]:标尺


 

    “熊猫视图”.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;
}

上面样例是定制使用 Cursors.Hand 状光标。如果不定制,将使用熊猫视图内置的一套黑、红交叉线样式。现在已将放大区域框样式改为红色虚线边框,填充半透明黄色。效果如下:

任何视图局部放大操作都会触发 ViewRangeChange 事件。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
21世纪什么最重要?通用!想让你的图形控件和主流软件共享同一种编辑结果吗,那就选择我吧!国内唯一全面基于国际矢量图形标准SVG的专业开发控件,提供全面的矢量编辑能力,能适应组态软件和其他图形软件开发需要。能够和其他主流的编辑软件如illustrator,Visio等共享最终编辑结果。使用VectorControl.Net,您可以:> 基本形状绘制,支持圆、椭圆、矩形、正方形、直线、多边形、折线的绘制> 图像和文本构造,支持导入图像和文本构造> 扩展形状绘制,支持星形形状和扇形的构造> 钢笔工具绘制,支持任意形状的曲线构造(贝赛尔曲线)> 二维变换,支持缩放、扭曲、平移和旋转等二维变换,并可以启用或禁用这些操作。> 图形的成组和解组> 图形的层次调整> 支持多个图形之间的对齐> 支持多个图形之间的分布功能> 调整多个图形的尺寸以达到相同高度或宽度> 网格、参考线、标尺等完整视图环境并支持吸附。> 支持外部自定义形状和图元文件,给与用户自由扩展功能的能力,并能将当前绘图内容导出为形状和图元> 支持连接线,可以在对象之间保持联系> 无限制的撤销/重作> 支持SVG文件的导入> Bmp,Jpg,Gif,Tiff等多种栅格图像格式的导出> SVG文件代码预览> VectorControl.Net还提供了许多Windows界面开发组件,包括弹出菜单时容器,形状和组件库选择器等> 打印支持> 两套完整的示例程序以及源代码(C#和VB.Net),全面全面展现了如何利用VectorControl.Net控件实现简单的矢量应用(不需要任何手工编码实现SVG浏览器)和利用VectorControl实现一个完整的矢量编辑环境(具备所有矢量图形编辑功能)的能力,您甚至可以直接将我们提供的示例程序用作您默认的矢量图形的编辑器。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值