图形编辑器
文章平均质量分 86
拿我格子衫来
《GitLab CI/CD 从入门到实战》作者,擅长GitLab CI/CD,ThingsBoard,Node-RED,Monaco Editor,数据可视化及浏览器脚本编写。熟练使用Docker,Kong,云原生相关组件。目前在做矢量图形编辑器,复杂智能激光切割雕刻机上位机的开发。不定期分享图形编辑器相关知识。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
WebGL 相关基础知识学习
WebGL基础知识与GLSL入门 本文介绍了WebGL的基本概念及其与OpenGL的关系,解释了WebGL的组成结构(JavaScript、GLSL、Canvas)和两种核心着色器(顶点着色器、片段着色器)。文章详细说明了GLSL语言的基本数据类型(浮点、整数、向量、矩阵等)和常用内置函数(向量运算、数学计算、纹理采样等),并提供了简单的着色器代码示例。此外,还对比了WebGL 1.0和2.0的区别,指出WebGL调试困难的原因在于CPU与GPU的严格通讯机制。这些基础知识为理解WebGL渲染流程和编写着色原创 2025-08-27 08:00:00 · 868 阅读 · 0 评论 -
对比四种误差扩散 抖动算法 的差异点 Floyd-Steinberg, Stucki, Jarvis, Atkinson,
本文对比了四种误差扩散抖动算法(Floyd-Steinberg、Stucki、Jarvis-Judice-Ninke、Atkinson)的关键特性。从噪点表现看,Jarvis最平滑,Atkinson保留高频细节但颗粒感明显;扩散范围上,Floyd计算量最小(4邻域),Jarvis/Stucki更精细(12邻域)。激光雕刻场景中,Floyd适合高速雕刻,Jarvis可防材料灼烧,Atkinson具有艺术化效果。综合建议:肖像用Jarvis/Stucki,艺术效果选Atkinson,文字/LOGO用Floyd,原创 2025-08-13 08:00:00 · 474 阅读 · 0 评论 -
fabricjs 自定义滤镜,webgl滤镜 与 canvas 2d滤镜
本文介绍了使用fabric.js实现图像编辑功能的技术方案。作者选择利用fabric.js内置的丰富滤镜功能,并详细解析了自定义滤镜的实现方法。文章重点分析了WebGL滤镜的工作原理,通过GLSL着色器语言实现GPU加速处理,并提供了创建二值化滤镜的完整代码示例。此外,还介绍了颜色矩阵滤镜的实现方式,展示了fabric.js在图像处理方面的高效性和灵活性。作者通过实际案例,分享了从技术调研到具体实现的经验总结。原创 2025-07-28 08:00:00 · 1105 阅读 · 0 评论 -
paperjs中 item 属性的 applyMatrix的详细解释及解决办法
时,虽然保留了变换信息(旋转、缩放),但几何数据(如路径点)的坐标是相对于本地坐标系的。如果直接读取这些坐标,它们没有经过变换矩阵的转换,因此位置不准确。属性控制变换矩阵(平移、旋转、缩放等)的应用方式。它的行为对元素的坐标系统和属性访问有深远影响。时,需手动应用变换矩阵到本地坐标,才能得到准确的世界坐标。和手动坐标转换,可以同时保留变换信息并获取准确的位置数据。在 Paper.js 中,原创 2025-05-23 08:00:00 · 345 阅读 · 0 评论 -
有关字体,语言,字符编码相关的基础知识,询问chatgpt所得
Unicode 是一个全球字符集标准,目的是为所有语言中的所有字符分配一个统一的编码。它把字符按照功能、语言或书写系统划分为“区段”,每个区段就是一个Unicode 范围。Unicode 范围字符示例用途A-Z, a-z拉丁基本字母А-Я, а-я西里尔字母(俄语、乌克兰语等)中、国、文常用汉字Α, β, γ希腊字母À, ç, ñ拉丁扩展-A(法语、西语等变音)😀, 😢Emoji所以你不需要按“语言”去处理字体,而是按“字符属于哪个 Unicode 范围”来选对应字体。✅。原创 2025-04-24 17:11:26 · 996 阅读 · 0 评论 -
web 串口,js发送gcode时,可供选择的几种方式
通过合理地选择发送方式和容量控制手段,可以确保消息传递的可靠性和系统的稳定性。如果你需要实现更复杂的协议,推荐使用。或者 JSON 格式来结构化消息内容,并附加长度信息以供接收端验证。原创 2024-12-25 08:00:00 · 743 阅读 · 0 评论 -
图形编辑器基于Paper.js教程12:井身结构编辑器,多条完全平行的弯曲线,使用额外平行线来作为弯曲中心线的度量尺
背景对于弯曲的三条平行线,一开始我以为只需要使用中心线,然后复制两条,一个向右下角平移,一个向左上角平移,就能让三条线实现完全平行,每一处的距离都相等。后来仔细思考后,发现我想错了,因为弯曲处的平行距离是,x移动,y移动的平方根。后来想使用曲线的缩放加上平移来实现三条线段弯曲平行,曲线部分依然无法达到完全平行。最后请教了ChatGPT,对于曲线的平行线,要使用切线加法线的方式来确定。法线的距离就是平行距离。具体就是获取曲线部分上的每一个点,然后求出该点的切线向量,然后再求出切线的法线,法线延长平行距离原创 2024-08-01 08:00:00 · 14240 阅读 · 0 评论 -
分析snapmaker Luban软件的 导入图片,图片处理的源码
最近要做一个位图转矢量图的功能,设计到png,jpg等位图的图像处理算法应用。于是分析一下友商的开源软件,Snapmaker Luban。组件被两个组件引用,如下图,我们要找的是LaserVisualizer下的。主要是图片导入的工具,跟踪选中图片会,代码都是怎么处理的。参数定义了能够导入的文件类型,也是从父级组件传下来的。找一下他的父级组件,搜了一下,父级组件叫做。当上传png图片后, 触发上游的函数。参数 也是从上游传下来,我们就找。导入图片的工具图片是定义在。该函数是从父级组件传下来的,原创 2024-07-12 07:30:00 · 5503 阅读 · 0 评论
分享