如何将GDI+ GraphicsPath转换为HTML5画布路径?

问题描述 投票:0回答:2

是否有一个库可以帮助将 GDI+

GraphicsPath
转换为 HTML5 画布路径?或者我是否必须手动运行所有
GraphicsPath.PathPoints
GraphicsPath.PathTypes
才能发出相应的 HTML5 代码(如果是这样,请分享任何提示)?

c# html html5-canvas gdi+
2个回答
1
投票

不幸的是我找不到任何有用的东西。有些人建议使用 SVG 作为将曲线从 GDI“传输”到 Canvas 的一种方式,但我找不到任何合适的 .NET SVG 库。我花了相当长的时间才理解

GraphicsPath
内部的数据是如何存储的,因为它并不像你想象的那么简单。 这就是我的想法

了解 GraphicsPath 的实际工作原理后,我成功地使用一堆 HTML5 函数重新创建了它:

.moveTo()
.lineTo()
.bezierCurveTo()
。结果非常整洁,尽管最终的字符串构建需要一些时间,并且如果源 GraphicsPath 表示用花哨字体编写的长文本,则生成的 JS 文件有时包含数十万行代码。令人惊讶的是 Firefox 可以毫无问题地处理它们。

我不会粘贴我正在使用的代码,因为只要您阅读并理解我在另一个SO问题中的回答,它就没有什么特别的。


0
投票

我没有答案,但我认为这个想法本身非常好。如果要创建一个 GDI+ 到 HTML5 库,它将允许 Microsoft 继续开发直接呈现 HTML 而不是使用 GDI+ API 的 2D UI。根据需要,微软还需要为 HTML 库制作一个 GDI+(也许还有 Silverlight)以实现向后兼容性。无论如何,这将降低 Windows 笔记本电脑的消费者成本,同时将 Windows 的所有 2D 应用程序开发统一在一个框架下。

© www.soinside.com 2019 - 2024. All rights reserved.