相关疑难解决方法(0)

如何使用javascript HTML5画布通过N个点绘制平滑曲线?

对于绘图应用程序,我将鼠标移动坐标保存到数组,然后使用lineTo绘制它们.生成的线条不平滑.如何在所有聚集点之间生成单条曲线?

我用谷歌搜索但我只找到了3个绘制线的函数:对于2个样本点,只需使用lineTo.对于3个样本点,quadraticCurveTo,对于4个样本点,bezierCurveTo.

(我尝试在阵列中每4个点绘制一个bezierCurveTo,但这会导致每4个采样点扭结,而不是连续的平滑曲线.)

如何编写一个函数来绘制一个包含5个样本点的平滑曲线?

javascript bezier canvas spline html5-canvas

114
推荐指数
7
解决办法
10万
查看次数

如何在2D矩阵中找到孔?

我知道这个标题似乎有点含糊不清,因此我附上了一张图片,这将有助于清楚地理解问题.我需要在白色区域内找到洞.一个洞被定义为一个或多个在白色区域内具有值"0"的单元格我的意思是它必须被单元格完全包围,值为"1"(例如,在这里我们可以看到三个标记为1,2和3的孔).我想出了一个非常天真的解决方案:1.在整个矩阵中搜索值为"0"的单元格2.遇到这样的单元格(黑色)时运行DFS(Flood-Fill)并检查我们是否可以触摸主矩形区域的边界3.如果我们可以在DFS期间触摸边界那么它不是一个洞,如果我们不能到达边界那么它将被视为一个洞

现在,这个解决方案有效,但我想知道是否有任何其他有效/快速的解决方案来解决这个问题.

请让我知道你的想法.谢谢.

在此输入图像描述

algorithm search flood-fill

16
推荐指数
1
解决办法
3074
查看次数

如何在JavaScript画布中将笔画/轮廓添加到透明PNG图像

使用JavaScript画布向透明PNG图像添加轮廓/笔触效果的最简单方法是什么?

我发现最流行的图像 效果库没有中风效果.我发现StackOverflow上最接近的解决方案是使用模糊来为它提供发光效果而不是轮廓描边.

原始图片

透明PNG图像,可以有多个分离的形状:

在此输入图像描述

得到的图像

透明图像与轮廓描边和阴影适用于它.

在此输入图像描述

搜索继续......

当我搜索完成笔画效果的最简单方法时,我会更新此列表.相关问题:

javascript canvas image-processing

9
推荐指数
1
解决办法
6055
查看次数

从图像边缘创建路径

我有一个背景透明的二进制图像(例如.png).让我们说它看起来像一个不规则但形状坚固的斑点(没有洞,它们都是一体的).

在JavaScript中,我想创建一个表示边界多边形的路径.多边形应该是凸的,但不一定是凸的.输出可以只是一个坐标列表:

[0, 0], [0, 5], [7, 0]

有什么好的选择?到目前为止,我已经考虑写一个QuickHull在插件Caman,但感觉有点重型.我已用此标记,canvas但仅仅因为它似乎是一个很好的起点.

javascript canvas image-processing

8
推荐指数
2
解决办法
1848
查看次数