我使用 HTML 画布和 fabricJS 构建了一个基于 Web 的轻型 SVG 编辑器,具有简单的功能,例如(调整大小、旋转、拖动、着色)。现在出于好奇,我想为这个基于网络的平台创建一个移动应用程序。开始在 flutter 中寻找替代品或类似于
fabricJS
的东西,但我没有运气。
还搜索了许多解决方案,但我从未找到可以在 flutter 或
Native Android
或 Swift
中满足此需求的东西,但我知道可能有 canva 用相同的方法做了一些东西,但我找不到一种了解秘诀的方法。
所以,我直接的问题是是否有像 flutter 中那样的 html 画布,甚至是 canvas-svg (和 svg-canvas)解析器。
Flutter 不支持 SVG,并且由于其性能原因,永远不会正式支持它。
您最好的选择是使用 来渲染矢量,然后在导出 SVG 时使用 SVG.js 和 js 互操作。这不是一个简单的解决方案,因为您必须解决缺乏官方支持的问题,但对于基本功能来说,它应该是完全可行的。 如果您想支持导入向量,您可能需要查看flutter_svg 的代码来了解它们如何处理 SVG。该库仅支持渲染 SVG,不支持操作或导出它们,但它可能有一些有用的代码来为您指明正确的方向。
medium post希望这能帮助其他正在寻求类似 svg 操作的人。