Draw2D 绘图-- 自定义图型

Draw2D--2. 图形元素(Figure)类设计层次(1)     第2章       图形元素(Figure)类设计层次      Draw2d是一个轻量级widget系统,定义了类似控件的一些图形元素,也定义了一些形状。图形元素能够相应各种事件,可以直接在事件处理函数中处理这些事件并对模型进行修改。    如果不需要对编辑图形元素执行编辑过程,只需要应用draw2d就可以完成显示目的。使用draw2d开发图形显示应用程序一般需要三个步骤:  1.  创 阅读详情


由于项目的需要,必须做出以下的自定义图形:
那么我们就一步步的来做出这个图形;


public void paintBorder(Graphics g) {
        String name 
= ((NodeElement) part.getModel()).getName();
        Rectangle head 
= new Rectangle(bounds.x, bounds.y, bounds.width / 4, 15);
        Image image 
= SysDesignUiPluginImages.color.createImage();
        g.drawImage(image, 
new Rectangle(image.getBounds()), head);
        g.drawRectangle(head);

        Rectangle tail 
= new Rectangle(bounds.x, bounds.y + 15,bounds.width - 1, bounds.height - 16);
        g.drawImage(image, 
new Rectangle(image.getBounds()), tail);
        g.drawRectangle(tail);

        Point right 
= new Point(bounds.x+bounds.width, bounds.y + 15);
        Point center 
= bounds.getCenter();
        Point botLeft 
= bounds.getBottomLeft();
        Point topLeft 
= bounds.getTopLeft();
                ...........................................................
                Point str 
= new Point(m + 20, (botLeft.y + topLeft.y) / 2);
        g.drawString(name, str);
        g.drawImage(SysDesignUiPluginImages.contributionimage.createImage(),
                                                
new Point(m, (botLeft.y + topLeft.y) / 2));


Draw2D--2. 图形元素(Figure)类设计层次(3) 4,接口继承层次设计   IFigure定义了一个图形元素必须要实现的基本功能,通过对IFigure进行扩展可以为图形元素提供额外的功能。     FreeFormFigrue允许它的孩子向负坐标空间扩展。这个图形元素一定要被放置在FreeformViewport 中。另外,你不能对这个图形元素调用IFigure.setBounds(Rectangle)。它的边界将基于它的孩子的范围被计算。一个F 阅读详情

相关推荐

Draw2d,一个非常强大的javascript类库,可以画各种各样的流程图,希望对大家有帮助!

Draw2d,一个非常强大的javascript类库,可以画各种各样的流程图,希望对大家有帮助!

绘制图形

绘制图形1.设置面板2.在面板中加入一个继承JPanel的类3.重写JPanel中的paint()方法4.注意:paint()方法会在下面三种情况下自动调用        ①程序启动②窗口大小发生变化③运行repaint函数时package Mapping; import java.awt.Color; import java.awt.Graphics; import javax.swing....

王摇水的博客 446

C#的控件使用:如何使用2D绘图控件ZedGraph绘制坐标轴和坐标曲线.rar

典型第三方控件 实现曲线图绘制 通过ZedGraph,可以放大缩小,看每个数据,也可以导入导出表格数据等

Draw2D 绘图-- UML 类图

导读:  图形编辑框架GEF有一个绘图和布局的插件叫Draw2D.Draw2D为GEF应用程序提供绘画和布局管理功能。本文集中探讨如何使用它去绘制一个简单的UML类图形。大多数应用程序使用GEF插件作为编辑层。  生成 Draw2d 图形  一个实例这篇文章的最终目的就是生成如下的一个图形,它是一个简单的UML类图:      设计图形  第一步就是要设计这个图形要由哪些组件

执笏少埋 的专栏 1949

draw-ellipse-2d:用贝塞尔曲线绘制椭圆

绘制椭圆2d 使用贝塞尔曲线将 2D 椭圆(椭圆形)绘制到 HTML5 画布上下文。 var position = [ 25 , 25 ] //x, y , shape = [ 100 , 25 ] //width, height context . beginPath ( ) drawEllipse ( context , position , shape ) context . stroke ( ) 用法 drawEllipse(context, position, shape) 在给定的[x, y]位置(椭圆的中心)绘制一个椭圆到context ,并在[width, height]使用给定的形状。 执照 麻省理工学院,有关详细信息,请参阅 。

draw2d 绘制图形教程

draw2d 绘制图形教程 draw2d 绘制图形教程draw2d 绘制图形教程 draw2d 绘制图形教程

drawio界面自定义配置

drawio 在“配置”界面,配置 json 实现更丰富的配置

weixin_44112083的博客 1万+

draw2d.js v2.9.1最新版本附带完整demo

一般用来画工作流图啥的。 大伙懂的,最新版本,我做了一个demo,我用的浏览器是火狐,good luck^_&

NAppGUI 2D绘图教程:用draw2d绘制图表与自定义界面,告别死板控件

很多用 C 语言做桌面开发的朋友,往往被困在"只有按钮、文本框这些基础控件"的尴尬局面里。NAppGUI 作为一个纯 ANSI-C 的跨平台桌面应用 SDK,内置了功能强大的 draw2d 二维绘图模块,让你可以用几十行代码画出专业的折线图、柱状图和完全自定义的界面组件。这篇 NAppGUI 2D绘图教程,将带你快速掌握 draw2d 的核心用法,从运行官方 Demo 到亲手绘制图表,告别千篇一律

gitblog_00254的博客 420

Android 音频源码分析——AudioTrack设备选择

Android 音频源码分析——AndroidRecord录音(一) Android 音频源码分析——AndroidRecord录音(二) Android 音频源码分析——AndroidRecord音频数据传输流程 Android 音频源码分析——audioserver启动 Android 音频源码分析——AudioFlinger Android 音频源码分析——AudioTrack设备选择 基于Andorid9.0源码 以AudioTrack为例,梳理下输出设备选择流程。 音频设备选择的影响因素: Au

奋斗的菜鸟ing 3972

别再为UE5像素流部署踩坑了!Windows服务器单实例保姆级避坑指南(含Node.js证书、coturn空文件夹等常见问题解决)

本文提供了UE5像素流在Windows服务器单实例部署中的全面解决方案,涵盖Node.js证书过期、coturn空文件夹等常见问题。通过详细的步骤指导和配置建议,帮助开发者高效完成部署,避免常见陷阱,特别适合局域网环境下的应用场景。

weixin_30315435的博客 466

在Java中使用Draw2D和SWT绘图

用 Java绘图一直都吸引着开发人员的注意。传统上,Java 开发人员使用 java.awt.Graphics 或 Java 2D API 进行绘图。一些开发人员甚至使用现成的开源工具箱(如 JSci)来绘图。但很多时候,您的选择被限定在了 AWT 或 Swing 上。为了最大限度地减少对第三方工具箱的依赖,或者为了简化绘图基础,可以考虑使用 Draw2D,并编写自己的代码来制图或绘图。 Dr

风斗士 1853

用InVEST做碳中和规划?手把手教你计算城市碳储量与热岛效应

本文详细介绍了如何利用InVEST模型进行城市碳中和规划的科学评估。通过手把手教学,演示了如何使用该模型的碳存储与城市热岛缓解模块,从数据准备、模型运行到结果解读,量化评估不同规划方案下的碳储量变化与热岛效应缓解潜力,为城市规划者提供科学的决策依据。

weixin_29201313的博客 822

draw2d常见问题解答:解决绘图过程中的15个关键难题

draw2d是一款基于JavaScript和HTML5的强大绘图库,让你轻松创建Visio风格的图表、流程图和工作流。本文汇总了使用draw2d时最常见的15个技术难题,并提供了简单实用的解决方案,帮助你快速掌握这款绘图工具的核心技巧。 ## 1. 如何正确初始化Canvas画布? 首次使用draw2d时,很多用户会遇到画布无法正常显示的问题。正确的初始化步骤如下: ```javascrip

gitblog_00322的博客 839

MAX96712在车载摄像头系统中的带宽分配与传输能力计算解析

在计算摄像头带宽与传输接口的关系时,需要考虑视频流的像素分辨率、帧率、颜色深度等因素。以 MAX96712 这种 GMSL2 产品为例,它支持每个链路在正向方向以 3Gbps 或 6Gbps 的固定速率工作。

weixin_43199439的博客 3330

NI数据采集卡测电流的三种‘姿势’:直接连接、外接分流电阻还是用电流互感器?看完这篇不再纠结

本文全面解析了NI数据采集卡在电流测量中的三种主流方案:直接连接、外接分流电阻和电流互感器。通过对比精度、带宽、隔离等关键参数,结合NI-DAQmx软件生态,为工业自动化、电力监测等场景提供选型指南和实战技巧,帮助工程师优化测量系统设计。

weixin_30882895的博客 422

draw2d实战教程:从零开始构建你的第一个Web流程图应用

draw2d是一个功能强大的JavaScript库,让你能够轻松创建类似Visio的绘图、图表或工作流。本教程将带你快速入门,从零开始构建一个完整的Web流程图应用,即使你没有丰富的前端开发经验也能轻松上手。 ## 为什么选择draw2d? draw2d基于HTML5技术,无需任何插件即可在现代浏览器中运行。它提供了丰富的API和组件,让你能够快速构建各种流程图应用,从简单的流程图到复杂的业务

gitblog_00937的博客 1153

MediaCreationToolW11:Windows11系统升级与修复利器

在日常使用Windows11系统的过程中,我们可能会遇到一些棘手的问题,比如系统更新时出现异常导致无法成功更新,或者系统本身出现异常需要进行无损修复。此外,当我们的电脑尚未升级到Windows11,而我们又希望进行升级时,一款高效且可靠的工具就显得尤为重要。接下来,MediaCreationToolW11将开始下载Windows11的安装文件,并创建Windows11介质。在“选择你要执行的操作”界面中,选择“ISO文件”。此时,你可以使用你的账户登录系统,并开始使用全新的Windows11系统了。

nntxthml的博客 2408

[转载]在Java中使用Draw2D和SWT绘图

在Java中使用Draw2D和SWT绘图用 Java绘图一直都吸引着开发人员的注意。传统上,Java 开发人员使用 java.awt.Graphics 或 Java 2D API 进行绘图。一些开发人员甚至使用现成的开源工具箱(...

congji3817的博客 508

详解RT-DETR网络结构/数据集获取/环境搭建/训练/推理/验证/导出/部署

本文给大家带来是利用RT-DETR模训练自己的数据集,RT-DETR是一种新提出的目标检测模型,它利用的自注意力机制来处理图像数据。不同于YOLO通过连续的卷积层直接对图像区域进行分析,RT-DETR采用Transformer架构中的自注意力机制,这允许模型更有效地理解图像中不同部分之间的关系。这种方法使得RT-DETR在处理图像中的复杂场景和多对象环境时,能够展现出更高的准确性和效率。此外,RT-DETR在保持高精度的同时,也针对实时处理进行了优化,使其适合需要快速响应的应用场景。

Snu77的博客 6万+

GEE生物量预测:利用多源遥感数据和随机森林算法RF构建地上生物量(AGB)预测模型,并实现未来年份的生态变化模拟(大面积生物量反演)

数据融合策略:整合5类遥感产品(AGB、NDVI、LAI、土地覆盖、地形)时序特征构建:采用生长季中值法降低云污染影响机器学习优化分层采样保证数据代表性80棵决策树平衡精度与效率预测可靠性基准期R²达0.76需结合地面实测数据校正。

此星光明博客 419

java dot画图_在Java中使用Draw2D和SWT绘图

Draw2D 简介Draw2D 是一个驻留在 SWT Composite 之上的轻量级窗口小部件系统。一个 Draw2D 实例 由一个 SWT Composite、一个轻量级系统及其内容的图形组成。图形是 Draw2D 的构建块。关于 Draw2D API 的所有细节,可以从 Draw2D Developer’s Guide 的Eclipse 帮助文件中找到。因为本文不打算成为一篇讲述 Draw2...

weixin_40007804的博客 565

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

Draw2D:基于JavaScript和HTML5的绘图库

Draw2D:基于JavaScript和HTML5的绘图库 1. 项目基础介绍 Draw2D 是一个开源项目,旨在提供一个现代化的 HTML5 和 JavaScript 库,用于可视化与交互图表和图形。该项目基于 MIT 许可,允许开发者自由使用和修改。它通过简单的API和丰富的功能,让开发者能够轻松创建出类似于 Microsoft Visio 的绘图、图表和工作流。 **主要编程语言:**Jav...

gitblog_00308的博客 493

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

draw2d源码探秘:深入理解HTML5画布绘图引擎的实现原理

在当今Web开发领域,HTML5画布技术为创建丰富的可视化应用提供了无限可能。draw2d作为一款优秀的JavaScript绘图库,为开发者提供了创建Visio风格图表、工作流和可视化工具的完整解决方案。本文将带您深入探索draw2d的源码实现,揭示这个HTML5画布绘图引擎的核心架构和设计思想。 ## 🔍 draw2d项目概览与核心架构 draw2d是一个基于HTML5 Canvas的现代

gitblog_00130的博客 944

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

draw2d扩展开发教程:创建自定义连接路由与端口装饰器

draw2d是一款基于JavaScript和HTML5的强大绘图库,允许开发者创建类似Visio的图表、流程图和工作流。本教程将带你探索如何扩展draw2d的核心功能,通过创建自定义连接路由和端口装饰器,让你的 diagrams 更具个性化和专业性。 ## 核心概念:连接路由与端口装饰器 在开始编码前,让我们先了解两个关键概念: - **连接路由(Connection Router)**:决

gitblog_00533的博客 671

探索绘图新境界:draw2d开源项目全面解析

在数字化时代,图形处理已成为软件开发不可或缺的一部分。今天,我们将深入探讨一个强大的Go语言绘图库——draw2d,它以其灵活性和多功能性在开发者社区中广受好评。 ## 项目介绍 draw2d是一个Go语言编写的2D矢量图形库,支持多种输出格式,包括图像、PDF文档、OpenGL和SVG。这个库不仅功能丰富,而且遵循BSD许可,使得开发者可以自由地在其项目中使用和修改。 ## 项目技术分析 ...

gitblog_00998的博客 465
上一篇: JAVA 大讲堂----Input和Output,输入输出流
下一篇: 花二十分钟教你Ruby快速入门
wangwhcore
博客等级 码龄19年 7粉丝 30原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值