UnL*_*oCo 5 svg transform rotation
我正在尝试输出实际尺寸的 SVG,所以我使用 cm 作为单位
旋转变换对像素工作得很好,但是当我切换到 cm 时,它不会按预期旋转元素
<image preserveAspectRatio="none" x="1cm" y="1cm" width="3cm" height="3cm"
xlink:href="http://api.prestalife.net/media/superman.png"
transform="rotate(45, 2.5, 2.5)"
/>
Run Code Online (Sandbox Code Playgroud)
jsFiddle:代码包含 px 和 cm 之间的比较
不同的变换函数使用绝对 CSS 单位作为参考,因此您必须将 cm 值转换为这些单位;对于90dpi决议,可能是这样的:
但是,它可能不适合任何类型的分辨率!您可能应该使用viewBox,它允许您在 svg 元素内定义“自己的”单位。因此,您的问题可以这样解决:
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1"
width="5cm" height="5cm" style="background-color: #EEE" viewBox="0 0 5 5">
<image preserveAspectRatio="none" x="1" y="1" width="3" height="3"
xlink:href="http://api.prestalife.net/media/superman.png"
transform="rotate(45, 2.5, 2.5)"
/>
</svg>
Run Code Online (Sandbox Code Playgroud)