• 2024-08-20前端使用 Konva 实现可视化设计器(21)- 绘制图形(椭圆)
    本章开始补充一些基础的图形绘制,比如绘制:直线、曲线、圆/椭形、矩形。这一章主要分享一下本示例是如何开始绘制一个图形的,并以绘制圆/椭形为实现目标。请大家动动小手,给我一个免费的Star吧~大家如果发现了Bug,欢迎来提Issue哟~github源码gitee源码示例地址接下来主要
  • 2024-08-08前端使用 Konva 实现可视化设计器(20)- 性能优化、UI 美化
    这一章主要分享一下使用Konva遇到的性能优化问题,并且介绍一下UI美化的思路。至少有2位小伙伴积极反馈,发现本示例有明显的性能问题,一是内存溢出问题,二是卡顿的问题,在这里感谢大家的提醒。请大家动动小手,给我一个免费的Star吧~大家如果发现了Bug,欢迎来提Issue哟~g
  • 2024-08-01前端使用 Konva 实现可视化设计器(19)- 连接线 - 直线、折线
    本章响应小伙伴的反馈,除了算法自动画连接线(仍需优化完善),实现了可以手动绘制直线、折线连接线功能。请大家动动小手,给我一个免费的Star吧~大家如果发现了Bug,欢迎来提Issue哟~github源码gitee源码示例地址模式切换前置工作连接线模式种类//src/Render/types.tse
  • 2024-07-22前端使用 Konva 实现可视化设计器(18)- 素材嵌套 - 加载阶段
    本章主要实现素材的嵌套(加载阶段)这意味着可以拖入画布的对象,不只是图片素材,还可以是嵌套的图片和图形。请大家动动小手,给我一个免费的Star吧~大家如果发现了Bug,欢迎来提Issue哟~github源码gitee源码示例地址在原来的drop处理基础上,增加一个json类型素材的处理入
  • 2024-06-17前端使用 Konva 实现可视化设计器(16)- 旋转对齐、触摸板操作的优化
    这一章解决两个缺陷,一是调整一些快捷键,使得Mac触摸板可以正常操作;二是修复一个Issue,使得即使素材节点即使被旋转之后,也能正常触发磁贴对齐效果,有个小坑需要注意。请大家动动小手,给我一个免费的Star吧~大家如果发现了Bug,欢迎来提Issue哟~github源码gitee源码示例地址
  • 2024-06-14前端使用 Konva 实现可视化设计器(15)- 自定义连接点、连接优化
    前面,本示例实现了折线连接线,简述了实现的思路和原理,也已知了一些缺陷。本章将处理一些缺陷的同时,实现支持连接点的自定义,一个节点可以定义多个连接点,最终可以满足类似图元接线的效果。请大家动动小手,给我一个免费的Star吧~大家如果发现了Bug,欢迎来提Issue哟~github源码g
  • 2024-06-11前端使用 Konva 实现可视化设计器(14)- 折线 - 最优路径应用【代码篇】
    话接上回《前端使用Konva实现可视化设计器(13)-折线-最优路径应用【思路篇】》,这一章继续说说相关的代码如何构思的,如何一步步构建数据模型可供AStar算法进行路径规划,最终画出节点之间的连接折线。请大家动动小手,给我一个免费的Star吧~大家如果发现了Bug,欢迎来提Issue
  • 2024-06-08前端使用 Konva 实现可视化设计器(13)- 折线 - 最优路径应用【思路篇】
    这一章把直线连接改为折线连接,沿用原来连接点的关系信息。关于折线的计算,使用的是开源的AStar算法进行路径规划,启发方式为曼哈顿距离,且不允许对角线移动。请大家动动小手,给我一个免费的Star吧~大家如果发现了Bug,欢迎来提Issue哟~github源码gitee源码示例地址灵感
  • 2024-06-02前端使用 Konva 实现可视化设计器(12)- 连接线 - 直线
    这一章实现的连接线,目前仅支持直线连接,为了能够不影响原有的其它功能,尝试了2、3个实现思路,最终实测这个实现方式目前来说最为合适了。请大家动动小手,给我一个免费的Star吧~大家如果发现了Bug,欢迎来提Issue哟~github源码gitee源码示例地址相关定义连接点记录了
  • 2024-05-18前端使用 Konva 实现可视化设计器(11)- 对齐效果
    这一章补充一个效果,在多选的情况下,对目标进行对齐。基于多选整体区域对齐的基础上,还支持基于其中一个节点进行对齐。请大家动动小手,给我一个免费的Star吧~大家如果发现了Bug,欢迎来提Issue哟~github源码gitee源码示例地址基于整体的对齐垂直居中水平居中左对齐
  • 2024-05-11前端使用 Konva 实现可视化设计器(10)- 对齐线
    请大家动动小手,给我一个免费的Star吧~大家如果发现了Bug,欢迎来提Issue哟~github源码gitee源码示例地址不知不觉来到第10章了,感觉接近尾声了。。。对齐线先看效果:这里交互有两个部分:1、节点之间的对齐线2、对齐磁贴多选的情况下,效果是一样的:主要逻辑会放在
  • 2024-05-07前端使用 Konva 实现可视化设计器(9)- 另存为SVG
    请大家动动小手,给我一个免费的Star吧~大家如果发现了Bug,欢迎来提Issue哟~github源码gitee源码示例地址另存为SVG这一章增强了另存为的能力,实现“另存为SVG”,大概是全网唯一的实例分享了吧。灵感来源:react-konva-custom-context-canvas-for-use-with-canvas2svg大
  • 2024-04-30前端使用 Konva 实现可视化设计器(8)- 预览框
    请大家动动小手,给我一个免费的Star吧~大家如果发现了明显的Bug,可以提Issue哟~这一章我们实现一个预览框,实时、可交互定位的。github源码gitee源码示例地址预览框定位方法移动画布,将传入x,y作为画布中心://更新中心位置updateCenter(x=0,y=0){
  • 2024-04-24前端使用 Konva 实现可视化设计器(7)- 导入导出、上一步、下一步
    请大家动动小手,给我一个免费的Star吧~这一章实现导入导出为JSON文件、另存为图片、上一步、下一步。github源码gitee源码示例地址导出为JSON文件提取需要导出的内容getView(){//复制画布constcopy=this.render.stage.clone()//提取mainlayer
  • 2024-04-20前端使用 Konva 实现可视化设计器(6)
    请大家动动小手,给我一个免费的Star吧~这一章处理一下复制、粘贴、删除、画布归位、层次调整,通过右键菜单控制。github源码gitee源码示例地址复制粘贴复制粘贴(通过快捷键)//复制暂存pasteCache:Konva.Node[]=[];//粘贴次数(用于定义新节点的偏移距离)past
  • 2024-04-16前端使用 Konva 实现可视化设计器(5)
    关于第三章提到的selectingNodesArea,在后续的实现中已经精简掉了。而transformer的dragBoundFunc中的逻辑,也直接移动transformer的dragmove事件中处理。请大家动动小手,给我一个免费的Star吧~这一章花了比较多的时间调试,创作不易~github源码gitee源码示例地址
  • 2024-04-12Konva.js
    1.前言简介:Konva.js-适用于桌面/移动端应用的HTML52dcanvas库个人体验:原生的canvas只支持绘制基本的直线,矩形,文字,图片,扇形等,如果要支持更复杂的功能,无法支持复杂的图形,移动,动画等,所以得引用相关库来实现,提示开发效率本篇文章只是初步使用,更详细的功能请查阅官方文档2
  • 2024-04-11前端使用 Konva 实现可视化设计器(4)
    给上一章做一个补充,就是实现通过上下左右按键移动所选节点。继续求Star,希望大家多多一键三连,十分感谢大家的支持~创作不易,Star50个,创作加速!github源码gitee源码示例地址通过按键移动节点准备工作给SelectionTool添加两个必要的方法://更新已选位置selecti
  • 2024-04-10前端使用 Konva 实现可视化设计器(3)
    github/giteeStar终于有几个了!从这章开始,难度算是(或者说细节较多)升级,是不是值得更多的Star呢?!继续求Star,希望大家多多一键三连,十分感谢大家的支持~创作不易,Star50个,创作加速!github源码gitee源码示例地址选择框准备工作想要拖动一个元素,可以考虑使用节点的drag
  • 2024-04-07前端的图表绘制框架Konva-基本介绍
    关于Konva及TS的基础这个Konva是一个HTML5的2D绘图库,应用它可以画出各种各样的二维图形来的。Konva.js-JavaScript2dcanvaslibrary MITLicense这个是用它创建的一些网站或者在线工具,还是挺有意思的。应用它的程序自然是多得多,但是我最近也是因缘际会,用到它了。不过像
  • 2024-04-06前端使用 Konva 实现可视化设计器(2)
    作为继续创作的动力,继续求githubStar能超过50个(目前惨淡的0个),望多多支持。源码示例地址在上一章,实现了“无限画布”、“画布移动”、“网格背景”、“比例尺”、“定位缩放”,并简单叙述了它们实现的基本思路。关于位置和距离从源码里可以发现,多处依赖了Konva.Stag
  • 2024-04-05前端使用 Konva 实现可视化设计器(1)
    使用konva实现一个设计器交互,首先考虑实现设计器的画布。一个基本的画布:【展示】网格、比例尺【交互】拖拽、缩放“拖拽”是无尽的,“缩放”是基于鼠标焦点的。最终效果:基本思路:设计区域HTML由两个节点构成,内层挂载一个Konva.stage作为画布的开始。<template><
  • 2024-01-11Konva-前端绘图框架
    一、介绍KonvaisanHTML5CanvasJavaScriptframeworkthatextendsthe2dcontextbyenablingcanvasinteractivityfordesktopandmobileapplications.Konvaenableshighperformanceanimations,transitions,nodenesting,layering,filtering,caching,eventha
  • 2023-07-23初入 H5 Canvas 框架 Konva.js
    什么是KonvaKonva.js是一个H5Canvas的JavaScript框架,我们可以通过制作桌面端和移动端的apps。Konva支持动画、转换、节点嵌套、图层、过滤、缓存、事件(桌面端和移动端)等。在Konva中,所有的图形都存在于stage中,即便是你的app使用了成百上千的shapes(图形)也可以在s
  • 2023-07-06Vue 先初始化子组件再初始化父组件的方法(自定义父子组件mounted执行顺序)
    写在前面:本篇内容内容主要讲述了,在使用Konva进行开发过程中遇到的一些问题。(既然是组件加载顺序,主要牵扯到的就是,父子组件的关系,父子组件的生命周期)众所周知,Vue中父子组件生命周期的执行顺序为://挂载阶段父beforeCreate->父created->父beforeMount->子beforeCre