Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/411.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript中虚线字体的坐标_Javascript_Canvas_Fonts_Coordinates_Html5 Canvas - Fatal编程技术网

Javascript中虚线字体的坐标

Javascript中虚线字体的坐标,javascript,canvas,fonts,coordinates,html5-canvas,Javascript,Canvas,Fonts,Coordinates,Html5 Canvas,受此启发 画出“谷歌”这个词 以许多手动定位的圆/球(1)的形式 在html5画布上 这是一个“o” new Ball(210, 81, 0, 0, red); new Ball(197, 91, 0, 0, red); new Ball(196, 103, 0, 0, red); new Ball(200, 116, 0, 0, red); new Ball(209, 127, 0, 0, red); new Ball(223, 130, 0, 0, red); new Ball(237,

受此启发

  • 画出“谷歌”这个词
  • 以许多手动定位的圆/球(1)的形式
  • 在html5画布上
这是一个“o”

new Ball(210, 81, 0, 0, red);
new Ball(197, 91, 0, 0, red);
new Ball(196, 103, 0, 0, red);
new Ball(200, 116, 0, 0, red);
new Ball(209, 127, 0, 0, red);
new Ball(223, 130, 0, 0, red);
new Ball(237, 127, 0, 0, red);
new Ball(244, 114, 0, 0, red);
new Ball(242, 98, 0, 0, red);
new Ball(237, 86, 0, 0, red);
new Ball(225, 81, 0, 0, red);
我想知道,是否有一种方法可以更自动地定义圆的坐标。例如,有没有办法从字体路径导出位置

编辑:我的目标是映射至少所有的普通字母(两种情况)和数字,这使得至少62个字符

旁白:偶然发现这个问题的人可能也想接受这个问题

有没有办法从字体路径导出位置

不在画布中或使用画布命令

有各种程序可以将字体转换为SVG路径

但不能只使用SVG路径的点,因为例如,贝塞尔曲线仅由3个点描述,但可能占圆的1/4。从这些路径中,有一些算法可以将路径分解为一系列点(即“Q”将成为描述圆和线的100个点)

您应该能够很容易地搜索这些单独的零件


实际上,最简单的方法是从像素字体()开始,将每个黑色像素变成一个点。当然,您不会获得很好的分辨率,但相对而言,这应该非常容易。

您可能需要有一个相对于起点的所有偏移的贴图,并将其传递到函数中。该函数获取偏移量和起点,并相应地拉出球。地图(可能只是一个对象数组)可以再次存储和重用。您是否希望确定如何通过自动化系统放置球?因此,通过使用多个循环,可以轻松地布置位置,而不是强制键入所有位置?我的意思是,你可以用上面的坐标把它们都映射到一个网格上,然后弄清楚它们在做什么,但看起来这很可能是一种手工绘制的东西,带有某种(0,0)偏移量,然后将垂直/水平偏移量应用到每个预援助字符上。是的,差不多。我已经开始了一些简单的算法,每个字母都是由
在这里画一条线
,在那里画一个圆组成的。但我想知道,如果我真的要从头开始做这件事,即使我可能不会太复杂。我也想到了手工绘制所有字符的解决方案,这可能是最适合这里的,但更“算法化”的方法可以提供更大的灵活性(例如,点之间的步长),对我来说,我会觉得更适合这样做。也许后者是完全错误的。你对如何将像素字体转换成相应的点或是什么有什么建议吗?这必须/应该手工完成?