Other content in SVG - SVG: Scalable Vector Graphics 编辑
Apart from graphic primitives like rectangles and circles, SVG offers a set of elements to embed other types of content in images as well.
Embedding raster images
Much like the img element in HTML SVG has an image
element to serve the same purpose. You can use it to embed arbitrary raster (and vector) images. The specification requests applications to support at least PNG, JPEG and SVG format files.
The embedded picture becomes a normal SVG element. This means, that you can use clips, masks, filters, rotations and all other tools of SVG on the content:
<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>
Screenshot | Live sample |
---|---|
Embedding arbitrary XML
Since SVG is an XML application, you can of course always embed arbitrary XML anywhere in an SVG document. But then you have no means to define how the surrounding SVG should react on the content. Actually, in a conforming viewer it will react in no way at all, the data will be omitted. Therefore the specification adds the
element to SVG. Its sole purpose is to be a container for other markup and a carrier for SVG styling attributes (most prominently <foreignObject>
width
and height
to define the space the object will take).
The foreignObject
element is a good way to embed XHTML in SVG. If you have longer texts, the HTML layout is more suitable and comfortable than the SVG text
element. Another often cited use case is the embedding of formulas with MathML. For scientific applications of SVG this is a very good way to join both worlds.
foreignObject
must be processable by the viewer. A standalone SVG viewer is unlikely to be able to render HTML or MathML.Since the foreignObject
is an SVG element, you can, like in the case of image
, use any SVG goodness with it, which then will be applied to its content.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论