`

line线

 
阅读更多

1.Connection接口:draw2d里面的线必须实现这个接口,这个接口里面有一个PointList,这个list里面放跟这个线相关的所有ConnectionAnchor。ConnectionAnchor是一个个瞄点,线是必须穿过这些瞄点的。

 

2.Polyline:这个相当于线的实现类,一个Figure,是在Shape的基础上发展出来的。这个类里面控制线的宽度大小形状还有颜色之类的,是对线的外观的定义。尽管Polyline是一个线,但它只是一个线的实现,一般使用的不是它,而是它的子类。

 

3.PolylineConnection是我们经常使用的线,它继承自Polyline同时实现了Connection接口。同时它里面有两个RotatableDecoration对象,用于描述线的两头的形状。默认有两个实现:PolylineDecoration虚心箭头,PolygonDecoration实心箭头,其实就是一个Figure自己想画随便画成啥样。

 

 

public static void createLine(IFigure panel,IFigure node1,IFigure node2){
        PolylineConnection conn = new PolylineConnection(); 
        
        // 设置连线起点的锚点  
        conn.setSourceAnchor(new ChopboxAnchor(node1));  
        // 设置连线目标的锚点  
        conn.setTargetAnchor(new ChopboxAnchor(node2));  
        // 设置连线目标的装饰器,箭头 
        conn.setTargetDecoration(new PolylineDecoration()); 
        
        panel.add(conn);
    }

 

 

 

4.在线上面加label:

在线上面加label其实就是在线上面加一个Figure,Figure本身你画什么并不重要。

 

 

        Label label = new Label("Midpoint");
        label.setOpaque(true);
        label.setBackgroundColor(ColorConstants.buttonLightest);
        label.setBorder(new LineBorder());
        // 添加连线的Locator
        conn.add(label, new MidpointLocator(conn, 0));
 

5.Anchor锚点:线两端的点,定位连线的起始和终结点。

 

6.Router路由:有些路由是直接在线上使用的,有些路由必须在父容器中使用。

 

conn.setConnectionRouter(new ManhattanConnectionRouter());
 

7.为线消除锯齿:(斜线锯齿状很难看,所以可以经过这一的处理)

 

ConnectionLayer connectionLayer =(ConnectionLayer)getLayer(LayerConstants.CONNECTION_LAYER);
connectionLayer.setConnectionRouter(null);
connectionLayer.setAntialias(SWT.ON);
 

 

 

 

 

 

分享到:
评论

相关推荐

    OBDII K-Line ISO9141-2标准协议解析

    K-Line是OBDII系统中的一种通信线,通常与车辆的仪表板诊断端口相连,用于传输数据。ISO 9141-2是OBDII通信协议之一,它规定了车辆与诊断设备之间如何进行K-Line通信的标准。 ISO 9141-2协议是基于早期的ISO 9141...

    Line Renderer) 组件绘制直线,曲线,圆弧

    可以使用线渲染器 (Line Renderer) 来绘制从简单直线到复杂螺旋线的任何线条。 这条线始终是连续的;如果需要绘制两条或更多完全独立的线,则应使用多个游戏对象,每个游戏对象都要有自己的线渲染器 (Line Renderer...

    SMART LINE精彩系列触摸屏画面数据刷新慢的问题原因分析汇总.docx

    SMART LINE精彩系列触摸屏画面数据刷新慢的问题原因分析汇总

    Unity-LineRenderer显示一条线

    本教程将深入探讨如何使用C#脚本在Unity中设置和控制LineRenderer,以显示一条线。 首先,我们需要在Unity编辑器中创建一个LineRenderer组件。你可以通过右键点击项目面板中的GameObject,然后选择“Component” ->...

    VB 6.0 使用Line方法画网格线.rar

    VB 6.0 使用Line方法画网格线,文字下面的网格背景线,是基于VB中的Line方法绘制出来的,学习一下简单的VB绘图技巧,核心代码:  Private Sub Form_Load()  Show  Scale (0, 0)-(10, 10) '自定义坐标系  ...

    Android-LineChart图标显示多条曲线

    在Android开发中,数据可视化是十分重要的,LineChart作为一种常用的数据展示方式,常用于呈现趋势或者比较多个数据系列。本文将深入探讨如何在Android应用中使用LineChart来显示多条曲线,帮助开发者创建出直观、易...

    LineRender画线,段笔写字,删除

    unity利用LineRender组建实现段笔写字,画线,删除等功能

    C#画图,画线源码 LineChart

    "C#画图,画线源码 LineChart"是一个关于如何在C#中实现简单图表绘制的示例项目。这个项目的目标是提供一个简化的方式来绘制线条图表,帮助开发者快速理解和实现自己的图形界面应用。 在C#中,可以使用System....

    python 实现画线(line)

    # 题目:画图,学用line画直线。

    unity关于lineRender平滑画线问题_unity3d5.3.6源码.zip

    本资料“unity关于lineRender平滑画线问题_unity3d5.3.6源码.zip”提供了一个针对这个问题的解决方案,下面将详细解析这个问题以及源码中的处理方法。 1. LineRenderer组件介绍 LineRenderer是Unity内置的组件,它...

    unity测量线Measure+Line+1.3c

    unity测量线Measure+Line+1.3c unity 画线插件,知道两点的坐标可以在两点间画线

    用PictureBox.Line写的动态进度曲线

    标题中的“用PictureBox.Line写的动态进度曲线”是指在VB(Visual Basic)编程环境中,利用PictureBox控件的Line方法来绘制动态变化的进度曲线。 PictureBox是Windows Forms中的一个控件,通常用于显示图像,但也...

    svg-line-curved:生成SVG弯曲线的path属性

    svg-line-curved 生成两点之间的SVG弯曲线的path属性:用法path = curve(x1, y1, x2, y2) 返回(x1, y1)和(x2, y2)之间的线的路径属性。 例如: var createSVG = require ( 'svg-create-element' )var curved = ...

    Line Renderer Pro 1.0画线插件

    Line Renderer Pro 1.0是一款专为Unity 3D开发的高级画线插件,它扩展了Unity内置的Line Renderer组件,提供了更多功能和优化,旨在帮助开发者在游戏或交互式应用中创建更加精细和动态的线条效果。这款插件在传统...

    GoogleMapApi_Line 画线

    在标题“GoogleMapApi_Line 画线”中,我们关注的是使用Google Map API来绘制线条这一特定功能。这通常是用于表示路径、轨迹或者连接地图上的多个点。下面我们将深入探讨如何使用Google Map API来实现这一功能。 ...

    嵌入式c语言画线 Line

    在提供的文件"Line.cpp"中,我们可以预期找到一个实现了上述原理的C++版本的Bresenham画线函数。这个函数可能接受起点和终点坐标,然后调用底层的设备驱动函数来设置屏幕上的像素。 总的来说,快速C语言画线是在...

    VB Line方法绘制抛物线

    本篇文章将深入探讨如何利用VB的Line方法来绘制抛物线,帮助开发者掌握这一核心技能。 抛物线是二次函数的图像,其标准形式为y = ax^2 + bx + c,其中a、b和c为常数,且a不等于0。在VB中,我们可以通过计算一系列...

    Mline.zip_m_line画线_matlab_matlab_中点画线法_slow31r

    在matlab中进行中点画线,这是计算机图形学的一部分。

    unity源码 光线源码Line Waves

    Unity游戏源码 , Unity工具 , 完整的项目 , 适合学习和二次开发 。 是整个完整的UnityPackage包 , 使用新版本编译器请自行升级编译器设置就行 , C#语言的! C#语言的!...unity源码 光线源码Line Waves

    Unity LineRenderer 连线功能示例工程

    3. **线宽与颜色**:可以通过设置LineRenderer的widthMultiplier属性来调整线的宽度,color属性则可以设置线的颜色,也可以为每个点设置单独的颜色,以实现渐变效果。 4. **启用与禁用**:在需要显示线的时候,启用...

Global site tag (gtag.js) - Google Analytics