是否有一个库可以帮助将 GDI+ 转换GraphicsPath
为 HTML5 画布路径?还是我必须手动运行所有GraphicsPath.PathPoints
并GraphicsPath.PathTypes
发出相应的 HTML5 代码(如果是,请分享任何提示)?
问问题
1158 次
1 回答
1
不幸的是,我找不到任何有用的东西。一些人建议使用 SVG 作为将曲线从 GDI“传输”到 Canvas 的一种方式,但我找不到任何适合 .NET 的 SVG 库。我花了很长时间才理解里面的数据GraphicsPath
是如何存储的,因为它不像你想象的那么简单。这就是我想出的。
了解 GraphicsPath 的实际工作原理后,我设法使用一堆 HTML5 函数重新创建它.moveTo()
:.lineTo()
和.bezierCurveTo()
. 结果非常简洁,尽管最终的字符串构建需要一些时间,并且如果源 GraphicsPath 表示用花哨字体编写的长文本,则生成的 JS 文件有时包含成千上万行代码。令人惊讶的是,Firefox 可以毫无问题地处理它们。
我不会粘贴我正在使用的代码,因为它没有什么特别之处,只要您阅读并理解我对另一个 SO question 的回答。
于 2013-06-27T18:31:42.427 回答