SVG 支持

从 Windows 10 周年更新开始,Direct2D 支持呈现包含 SVG 字形轮廓的颜色字体,如 OpenType 规范中所述 (请参阅 SVG 表) 。 从Windows 10 创意者更新开始,Direct2D 还支持呈现独立的 SVG 图像。 但是,OpenType SVG 字体中不允许某些 SVG 功能,Direct2D 目前不支持某些 SVG 功能。  

本主题介绍 Direct2D 在 Windows 10 周年更新和更新中支持的 SVG 1.1 功能集。 本文档适用于 OpenType 字体中的 SVG 以及独立的 SVG 图像。

支持的 SVG 元素和属性

Direct2D 支持呈现以下 SVG 元素以及每个元素的关联属性。 忽略其他元素和常规属性。

元素 支持的常规属性
circle id, style, transform, cx, cy, r
clipPath id, style, transform, clipPathUnits
defs id, style, transform
desc* id
ellipse id, style, transform, cx, cy, rx, ry
g id, style, transform
图像 id, style, transform, x, y, width, height, preserveAspectRatio, xlink:href
line id, style, transform, x1, y1, x2, y2
linearGradient id, style, x1, y1, x2, y2, gradientUnits, gradientTransform, spreadMethod, xlink:href
路径 id, style, transform, d
polygon id, style, transform, points
折线 id, style, transform, points
radialGradient id, style, cx, cy, r, fx, fy, gradientUnits, gradientTransform, spreadMethod, xlink:href
rect id, style, transform, x, y, width, height, rx, ry
stop id, style, offset
Svg id, style, x, y, width, height, viewBox, preserveAspectRatio
标题* id
use id, style, transform, x, y, width, height, xlink:href

 

*仅在 Windows 10 创意者更新 及更新版本中受支持

支持的 SVG 演示属性

Direct2D 还支持以下演示属性。 可以在任何 SVG 元素上指定这些元素,但它们仅影响某些元素的外观,如 SVG 规范 (请参阅 演示文稿属性) 。

  • clip-path
  • clip-rule
  • color
  • 显示*
  • fill
  • fill-opacity
  • fill-rule
  • 不透明度
  • Overflow — 溢出
  • stop-color
  • stop-opacity
  • 中风
  • stroke-dasharray
  • stroke-dashoffset
  • stroke-linecap
  • stroke-linejoin
  • stroke-miterlimit
  • stroke-opacity
  • stroke-width
  • 知名度*

*仅在 Windows 10 创意者更新 及更新版本中受支持

不支持的 SVG 功能

不支持的元素和属性

未包含在上述列表中的任何元素或属性都被视为不受 Direct2D 支持。 分析包含不受支持的元素或属性的 SVG 内容时,将忽略不受支持的实体。 其余内容尽可能忠实地呈现。

不支持的长度单位

自 Windows 10 周年更新起,Direct2D 仅支持用户空间长度值和百分比长度值。 不支持具有单位后缀(如“mm”或“em”)的长度。

从 Windows 10 Fall Creators Update 开始,Direct2D 还支持绝对单位标识符:px、pt、pc、cm、mm 和 in。 不支持相对单位标识符 (em,例如) 。

不支持的图像源

仅当图像元素的 xlink:href 属性设置为 base64 编码的图像时,才支持该图像元素。 不支持远程引用。