其它SVG内容 - SVG 编辑

« 上一页下一页 »

除了图形化原件,如矩形和圆形之外,SVG还提供了一些元素用来在图片中嵌入别的类型的内容。

Embedding_raster_images

嵌入光栅图像

很像在HTML中的img元素,SVG有一个image元素,用于同样的目的。你可以利用它嵌入任意光栅(以及矢量)图像。它的规格要求应用至少支持PNG、JPG和SVG格式文件。

嵌入的图像变成一个普通的SVG元素。这意味着,你可以在其内容上用剪切、遮罩、滤镜、旋转以及其它SVG工具:

<svg version="1.1"
     xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
     width="200" height="200">
  <image x="90" y="-65" width="128" height="146" transform="rotate(45)"
     xlink:href="/wiki/static/img/favicon144.png"/>
</svg>

HTML

<svg version="1.1"
     xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
     width="200" height="200">
  <image x="90" y="-65" width="128" height="146" transform="rotate(45)"
     xlink:href="/wiki/static/img/favicon144.png"/>
</svg>
ScreenshotLive sample

嵌入任意XML

因为SVG是一个XML应用,所以你总是可以在SVG文档的任何位置嵌入任意XML。但是你没有必要定义周围的SVG需要怎样反作用于这个内容。实际上,在一个遵从的浏览者中,根本没有反作用的方法,数据将简单被忽略。因此特地在SVG中添加了<foreignObject> 元素。它的唯一的目的是作为其它标记的容器和SVG样式属性的载体(更突出的widthheight用来定义该对象占用的空间。)。

foreignObject元素是一个好办法,用来在SVG中嵌入XHTML。如果你有更长的文本,该HTML布局比SVG text元素更适合。另一个经常被引用的用例是用MathML写的方程式。对于SVG的科学应用,它是连接两个世界的一个很好的办法。

注意:请记住,foreignObject元素的内容是能被浏览器加工的。一个独立的SVG浏览器不太可能呈现HTML或MathML。

因为foreignObject是一个SVG元素,所以你可以像用图像那样,使用任何SVG的精华,它将被应用到它的内容。

« 上一页下一页 »

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

词条统计

浏览:57 次

字数:4219

最后编辑:7 年前

编辑次数:0 次

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文