`
flysnail
  • 浏览: 92827 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

DashLine

    博客分类:
  • Flex
XML 
阅读更多
<?xml version="1.0" encoding="utf-8"?>
<mx:Label xmlns:mx="http://www.adobe.com/2006/mxml" width="400" height="300">
    <mx:Script>
        <![CDATA[
            import mx.core.UIComponent;
           
             //if flag is true,draw horizon line ,else vertical line.
            [Bindable]
            public var flag : Boolean = true;
           
            override protected function updateDisplayList(unscaledWidth : Number, unscaledHeight : Number) : void
            {
                super.updateDisplayList(unscaledWidth, unscaledHeight);
               /*  var num : Array = [2,3];
                dashLineToPattern(this, 10000,50,60,50,num); */
                var labelX:Number = this.x;
                var labelY:Number = this.y;
                drawDashLineType(flag, labelX, labelY);
            }
           
            public function drawDashLineType(flag : Boolean, labelX : Number, labelY : Number) : void
            {
                var ToX:Number;
                var ToY:Number ;
                if(flag)
                {  
                    ToX = labelX + this.width;  //draw horizon dash line
                    ToY = labelY;
                }
                else
                {
                    ToX = labelX;
                    ToY = labelY + this.height; //draw vertical dash line
                }
                var pattern:Array = new Array;
                pattern.push(2,3);
                dashLineToPattern(this, labelX, labelY, ToX, ToY, pattern);
            }
                
            public static function dashLineToPattern(target:UIComponent, x1:Number, y1:Number,x2:Number, y2:Number,pattern:Array):void
            {
                target.graphics.lineStyle(1,0x000000);
                var x:Number = x2 - x1;
                var y:Number = y2 - y1;
                var hyp:Number = Math.sqrt((x)*(x) + (y)*(y));
               
                var units:Number = hyp/(pattern[0]+pattern[1]);
                var dashSpaceRatio:Number = pattern[0]/(pattern[0]+pattern[1]);
               
                var dashX:Number = (x/units)*dashSpaceRatio;
                var spaceX:Number = (x/units)-dashX;
                var dashY:Number = (y/units)*dashSpaceRatio;
                var spaceY:Number = (y/units)-dashY;
               
                target.graphics.moveTo(x1, y1);
               
                while (hyp > 0)
                {
                    x1 += dashX;
                    y1 += dashY;
                    hyp -= pattern[0];
                    if (hyp < 0)
                    {
                       x1 = x2;
                       y1 = y2;
                    }
                   
                    target.graphics.lineTo(x1, y1);
                    x1 += spaceX;
                    y1 += spaceY;
                    target.graphics.moveTo(x1, y1);
                    hyp -= pattern[1];
                }
                target.graphics.moveTo(x2, y2);
            }
        ]]>
    </mx:Script>
</mx:Label>
分享到:
评论

相关推荐

    matlab开发-dashLine

    在MATLAB编程环境中,"dashLine"是一种特殊线型,用于绘制带有破折号和空隙交替的线条,常用于区分或突出显示图形中的不同数据系列。本项目"matlab开发-dashLine"旨在提供一种自定义破折号线的方式,让用户能够根据...

    编辑控件源代码dashline

    "dashline"可能是指在编辑控件中实现的一种特定的视觉效果,比如分隔线,它可能用虚线(dash line)来美化或组织界面元素。在图形处理类的应用中,这种细节的实现对于提升用户体验和界面美观度至关重要。 在描述中...

    VC绘图曲线dashline

    在VC++环境中,"VC绘图曲线dashline"是一个关于使用MFC(Microsoft Foundation Classes)库来绘制图形,特别是曲线、图标、棒图和饼图的项目。MFC是微软提供的一套C++类库,它封装了Windows API,使得开发者能够更...

    商业编程-源码-编辑控件源代码 dashline.zip

    "dashline.zip"压缩包中的源码很可能提供了一种定制化的编辑控件实现,可能包含了一些独特的功能或者视觉效果,如 dashed line(虚线)作为分隔符,以提升用户体验。 编辑控件通常由程序员使用各种编程语言和库来...

    dashline:使用用户定义的线型和准确的虚线长度绘制虚线和虚线。-matlab开发

    Dashline 是一个 m 文件,用于精确控制虚线和虚线,以生成出版质量的图形。 Matlab 中内置的线条样式是有限的,并且通常会给出很差的结果。 Dashline 使用户可以自由地生成他们希望的任何破折号和标记组合。 它基于...

    QPainter实现流光虚线

    虚线可以通过指定`Qt::DashLine`作为线型,并通过`setDashPattern()`方法定义虚线模式。例如: ```cpp QPen pen(Qt::DashLine); pen.setDashPattern({5, 5}); // 设置虚线模式,这里表示每5像素绘制1像素的线,再空...

    qt绘图工具可以选择线型、线宽、以及颜色等

    这个方法接受Qt::PenStyle枚举值作为参数,例如Qt::SolidLine、Qt::DashLine、Qt::DotLine等,这些不同的值可以设置线条为实线、虚线、点线等样式。例如: ```cpp QPen pen(Qt::DashLine); painter.setPen(pen); ``...

    dashLine:使用任何虚线序列创建自定义虚线-matlab开发

    本文将深入探讨如何使用`dashLine`函数来实现这一目标。`dashLine`函数允许用户以任意点序列创建虚线,提供更高的灵活性和定制性。 首先,我们需要理解`dashLine`的基本原理。这个函数的工作方式是将用户提供的点...

    ReactNative虚线组件兼容Android

    rn-dashline-master这个压缩包很可能是包含了这样一个专门用于创建虚线的React Native模块,可能包含源码、示例、文档等资源。 要理解并使用这个组件,首先你需要熟悉React Native的基本概念和API。React Native的...

    Android代码-AndroidDashLine安卓虚线

    Android Dash Line 安卓虚线 绘制原因 about 由于硬件加速的问题,安卓上原有的虚线方法不太好使了,为了兼容方便,还是绘制虚线比较简单。 接口说明 api 设置高度 set height setHeight(int height);...

    A Simple Dash-Line Class画大于1个逻辑单位的虚点线(46KB)

    1. DASHLINE.APS、DASHLINE.CLW、DASHLINE.CPP:这些都是C++源代码文件。其中,`.CPP` 文件通常包含C++源代码,`.APS` 可能是编译中间文件,`.CLW` 可能是类工作空间文件,包含了关于项目的类和对象信息。 2. ...

    大智慧指标公式函数大全.pdf

    图形函数包括BAR、COLOR、COLOR3D、COLORSTICK、CROSS、CROSSDOT、DASHLINE、DATATYPE、DATE、DATESTR、DAY、DAYS1970、DECLINE、DIVIDBARS、DIVIDEND、DRAWBMP、DRAWFLAGTEXT、DRAWGBK、DRAWGBKLAST、DRAWICON、...

    qml 虚线绘制 多种绘制方式

    border.style: Border.DashLine // 仅适用于QtQuick.Controls 2.x及以上版本 } ``` 综上所述,QML提供了多种方式来绘制虚线,从简单的Canvas和PathElement到复杂的着色器和自定义效果。根据项目需求和技能水平,...

    Qt 2D绘图基础.rar_8DM1_QT_QT 2D绘图_mousewu3_绘图

    QPen redPen(Qt::红色, 2, Qt::DashLine); ``` **二、画刷(QBrush)** 画刷则用于填充形状或区域的颜色和纹理。QBrush类提供了多种填充方式,如纯色、渐变色、图案等。例如,我们可以创建一个绿色的填充刷: ```...

    Qt画动画蚂蚁线框.zip

    我们可以在绘制边框时设置QPen对象的样式为Qt::DashLine或Qt::DotLine,并通过QPen的DashPattern属性来控制虚线模式,比如每四个像素绘制一实一虚。 3. **动画效果:** 要使蚂蚁线看起来像在移动,我们可以利用Qt...

    A Simple Dash-Line Class一个简单的虚线类(4KB)

    - "dashline.shtml.htm" 可能是另一个文档,更详细地讨论虚线类的实现细节,或者是提供了一些示例代码。 - "VC Empire.htm" 这个文件名可能暗示这个虚线类是为Visual C++(VC)环境设计的,或者是使用VC进行演示的...

    运用C++语言绘制地图符号

    实线和虚线的绘制则可以通过设置画笔(QPen)的样式来完成,QPen类提供了多种线型样式,包括SolidLine(实线)、DashLine(虚线)等。 在实际操作中,我们还需要考虑缩放和旋转问题。地图上的符号可能需要根据比例...

    IE4 Extended Styles in a list control和IE4类似的列表控制(4KB

    - `dashline.shtml.htm`:这个文件名可能表示一个使用破折号线进行分隔或装饰的示例,可能是关于如何在列表项之间添加分隔线的代码或教程。 - `VC Empire.htm`:此文件可能与使用Visual C++开发相关,可能包含用C++...

    数字图像图形处理C源代码包1

    5,dashline.zip 一个简单的虚线类(46KB) 6,rotatedc2.zip 旋转你的图形-高级内存设备描述表演示程序(49KB) 7,rotatedc.zip 旋转你的图形-高级内存设备描述表(21KB) 8,jtdraw.zip JTDraw -- 一个绘画的例子(165KB) 9,...

    QT paint 画笔程序,对画笔的一些简单设置

    3. **线型设置**:QPen::setStyle()用于设置线条样式,包括实线(Qt::SolidLine)、虚线(Qt::DashLine)、点线(Qt::DotLine)等。通过不同的线型组合,可以创造出各种视觉效果。 4. **画笔帽样式**:QPen::...

Global site tag (gtag.js) - Google Analytics