我看到 Adobe AIR 使用 WebKit 作为其渲染器,并且我看到 WebKit(至少是最新版本)具有一些 SVG 支持。这是否意味着(并且有人专门尝试过)Adobe AIR 应用程序可以在 HTML 页面上呈现 SVG?
4 回答
如果它很有帮助(而且您还不知道),Flex 可以在运行时编译时嵌入 SVG,从而有效地将其转换为 SWF 格式并将其作为资源嵌入。
[Embed(source="assets/frog.svg")]
[Bindable]
public var SvgAsset:Class;
Adobe 的嵌入资产文章中的更多信息。
如果 ActionScript 2:使用com.itechnica.svg (PathToArray) 库在 SWF 运行时加载 SVG 并显示它们(使用 XML 进行 SVG 解析):
在 Flash 中使用SVG 路径数据,右侧窗格中的下载按钮。
如果 ActionScript 3:使用 com.zavoo.svg (SvgPath) 库在 SWF 运行时加载 SVG 并显示它们(使用 RegExp 进行 SVG 解析):
SvgLoad和SvgDraw的源代码,左下角的下载按钮。
不,根据 Adobe AIR 开发人员中心文章AIR 2.5 中的 HTML、HTML5、CSS 和 JavaScript 有哪些新变化?.
SVG
最近引起极大兴趣的另一个功能是对 SVG 的支持。虽然存在于 WebKit 中,但当前版本的 Adobe AIR 不支持 SVG。
不包括它的主要原因是运行时大小问题(添加它会使运行时大小增加 15% 到 20%)。最初,关于 AIR 的主要痛点是运行时的大小、与操作系统和原生 API 的集成、对标签和新 CSS 属性的支持以及 JavaScript 性能。这些优先事项,再加上对 SVG 图形兴趣减少的趋势,导致当前版本的 Adobe AIR 中不包含对 SVG 的支持。
然而,对由 HTML5 画布和更快的 JavaScript 引擎提供支持的富 JavaScript 应用程序重新产生的兴趣增加了通过 SVG 对可编写脚本的矢量图形的请求数量。因此,可以考虑为下一个 AIR 版本添加对 SVG 图形的支持。
Adobe AIR 只能在 Adobe 更新其 WebKit 版本(AIR 的 HTML 渲染引擎)并在其 WebKit 版本中启用 SVG 支持后才能支持 SVG。可能是一个商业决定不(即Flash)。