我使用了http://raphaeljs.com/image-rotation.html raphel 的脚本,但是。如何保存这个旋转的图像。
2 回答
它是一个 SVG,而不是真正的图像本身。
您必须通过 AJAX 将生成的 SVG 保存到您的服务器上,并使用外部 SVG 渲染库进行渲染。
你可以试试librsvg2-bin
,因为我听说它有效。
如前所述,它是一个 SVG 元素,它使用源图像在单击旋转按钮时更改其角度。通过检查旋转后的图像,您将看到 SVG 元素,例如:
<image x="160" y="120" width="320" height="240" preserveAspectRatio="none" href="http://raphaeljs.com/bd.jpg" transform="rotate(-90, 320, 240)"/>
您会注意到有一个tranform
包含该rotate(angle, x, y)
函数的属性。如果您能找到获得该角度值的方法,则可以使用它来操作图像源,以使用 PHP 使用imagerotate函数生成新图像。
通过这样做,我得到了transform
属性值:
document.getElementById('holder').getElementsByTagName('image')[0].getAttribute('transform')
这返回"rotate(-90, 320, 240)"
当然这是一个 hack ;p