0

我使用了http://raphaeljs.com/image-rotation.html raphel 的脚本,但是。如何保存这个旋转的图像。

4

2 回答 2

0

它是一个 SVG,而不是真正的图像本身。

您必须通过 AJAX 将生成的 SVG 保存到您的服务器上,并使用外部 SVG 渲染库进行渲染。

你可以试试librsvg2-bin,因为我听说它有效。

于 2011-04-28T04:19:44.933 回答
0

如前所述,它是一个 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

于 2011-04-28T06:52:49.817 回答