AntV G6自定义节点(多边形+图片)

2024-02-01 08:10

本文主要是介绍AntV G6自定义节点(多边形+图片),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

要求:拓扑节点根据不同的设备类型显示不同的图标,且根据设备状态显示不同的背景色,鼠标点击选中节点还可高亮

效果图

  • 不同设备不同图标,不同状态不同背景色
    在这里插入图片描述

  • 鼠标点击选中节点高亮
    在这里插入图片描述

代码

// 默认节点背景色
const defaultNodeBgColor = '#169BFA'G6.registerNode('cust-node',{draw (cfg, group) {// bgColor自定义的节点背景色 icon自定义的节点图标const { bgColor, icon } = cfg// 外层包裹元素const shape = group.addShape('polygon', {attrs: {points: [[16, 0],[32, 9],[32, 26],[16, 35],[0, 26],[0, 9]],},name: 'node-wrapper'})// 背景色元素group.addShape('polygon', {attrs: {points: [[16, 2],[30, 10],[30, 25],[16, 33],[2, 25],[2, 10]],fill: bgColor || defaultNodeBgColor, // 填充背景色},name: 'node-bg'})// 除主体部分白色外背景色透明的图标group.addShape('image', {attrs: {x: 8,y: 9,width: 16,height: 16,img: icon, // 设置图标},name: 'node-icon'})// 非高亮节点的蒙层group.addShape('polygon', {attrs: {points: [[16, 0],[32, 9],[32, 26],[16, 35],[0, 26],[0, 9]],},name: 'node-mask'})return shape},update (cfg, node) {// 节点更新触发 isNodeActive是否选中const { bgColor, isNodeActive } = cfgconst group = node.getContainer() // 获取容器// 背景色元素填充色修改const bgShape = group.get('children')[1] // 获取形状bgShape.attr({ fill: bgColor || defaultNodeBgColor }) // 修改形状的属性// 蒙层元素填充色修改:高亮节点蒙层不填充,非高亮节点蒙层填充透明白色const maskShape = group.get('children')[3] // 获取形状maskShape.attr({ fill: isNodeActive ? '' : 'rgba(255, 255, 255, 0.8)' }) // 修改形状的属性}},'single-node'
)

这篇关于AntV G6自定义节点(多边形+图片)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/666630

相关文章

Python FastAPI+Celery+RabbitMQ实现分布式图片水印处理系统

《PythonFastAPI+Celery+RabbitMQ实现分布式图片水印处理系统》这篇文章主要为大家详细介绍了PythonFastAPI如何结合Celery以及RabbitMQ实现简单的分布式... 实现思路FastAPI 服务器Celery 任务队列RabbitMQ 作为消息代理定时任务处理完整

使用C#代码在PDF文档中添加、删除和替换图片

《使用C#代码在PDF文档中添加、删除和替换图片》在当今数字化文档处理场景中,动态操作PDF文档中的图像已成为企业级应用开发的核心需求之一,本文将介绍如何在.NET平台使用C#代码在PDF文档中添加、... 目录引言用C#添加图片到PDF文档用C#删除PDF文档中的图片用C#替换PDF文档中的图片引言在当

详解C#如何提取PDF文档中的图片

《详解C#如何提取PDF文档中的图片》提取图片可以将这些图像资源进行单独保存,方便后续在不同的项目中使用,下面我们就来看看如何使用C#通过代码从PDF文档中提取图片吧... 当 PDF 文件中包含有价值的图片,如艺术画作、设计素材、报告图表等,提取图片可以将这些图像资源进行单独保存,方便后续在不同的项目中使

Java实现文件图片的预览和下载功能

《Java实现文件图片的预览和下载功能》这篇文章主要为大家详细介绍了如何使用Java实现文件图片的预览和下载功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... Java实现文件(图片)的预览和下载 @ApiOperation("访问文件") @GetMapping("

使用Sentinel自定义返回和实现区分来源方式

《使用Sentinel自定义返回和实现区分来源方式》:本文主要介绍使用Sentinel自定义返回和实现区分来源方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Sentinel自定义返回和实现区分来源1. 自定义错误返回2. 实现区分来源总结Sentinel自定

如何自定义Nginx JSON日志格式配置

《如何自定义NginxJSON日志格式配置》Nginx作为最流行的Web服务器之一,其灵活的日志配置能力允许我们根据需求定制日志格式,本文将详细介绍如何配置Nginx以JSON格式记录访问日志,这种... 目录前言为什么选择jsON格式日志?配置步骤详解1. 安装Nginx服务2. 自定义JSON日志格式各

Android自定义Scrollbar的两种实现方式

《Android自定义Scrollbar的两种实现方式》本文介绍两种实现自定义滚动条的方法,分别通过ItemDecoration方案和独立View方案实现滚动条定制化,文章通过代码示例讲解的非常详细,... 目录方案一:ItemDecoration实现(推荐用于RecyclerView)实现原理完整代码实现

基于Spring实现自定义错误信息返回详解

《基于Spring实现自定义错误信息返回详解》这篇文章主要为大家详细介绍了如何基于Spring实现自定义错误信息返回效果,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录背景目标实现产出背景Spring 提供了 @RestConChina编程trollerAdvice 用来实现 HTT

基于Python开发批量提取Excel图片的小工具

《基于Python开发批量提取Excel图片的小工具》这篇文章主要为大家详细介绍了如何使用Python中的openpyxl库开发一个小工具,可以实现批量提取Excel图片,有需要的小伙伴可以参考一下... 目前有一个需求,就是批量读取当前目录下所有文件夹里的Excel文件,去获取出Excel文件中的图片,并

SpringSecurity 认证、注销、权限控制功能(注销、记住密码、自定义登入页)

《SpringSecurity认证、注销、权限控制功能(注销、记住密码、自定义登入页)》SpringSecurity是一个强大的Java框架,用于保护应用程序的安全性,它提供了一套全面的安全解决方案... 目录简介认识Spring Security“认证”(Authentication)“授权” (Auth