使用javascript在div内顺时针或逆时针旋转图像

问题描述:

HI,有没有一种方法可以顺时针或逆时针旋转div内的图像。使用javascript在div内顺时针或逆时针旋转图像

我有一个主要固定宽度div [溢出设置为隐藏]与数据库加载的图像。有一个滚动条显示div内的图像。点击图片后,我需要以顺时针或逆时针方向显示旋转动画。

我已经使用矩阵过滤器完成了它。我想知道是否可以在IE中完成而不使用任何过滤器。

试试这个:http://raphaeljs.com/image-rotation.html

使用画布,但也支持IE

我能想到的在客户端在IE中旋转图像的唯一方法是使用过滤器。对于最近的版本,其他浏览器可以使用<canvas> control

您的替代方案是使用服务器端脚本来旋转图像。然后可以发送关于如何使用JavaScript旋转它的信息(即生成的图像的路径如/rotate?image=img.jpg &量= 90)

+0

问题带过滤器是在应用矩阵过滤图像的清晰度后减小到一些延伸。有没有办法避免这种情况? – rahul 2009-06-09 07:56:04

CSS3 supports rotation,但it isn't widely supported。 正如你所要求的JavaScript解决方案,here's one,但我认为你不能获得流畅的图像。

+5

只是一个关于JavaScript解决方案的警告:即使对于像100x100这样小的图像,它也会生成10,000个div元素,每个元素都以图像为背景。这样做肯定会降低一些浏览器对较大图像的影响。 – Blixt 2009-06-09 07:52:50

如果你使用jQuery,jQueryRotate是小(小于3Kb上缩小的+ gzip压缩的)插件,旋转图片:

http://jqueryrotate.com/

+0

注意:显然这已经转移到http://code.google.com/p/jqueryrotate/ – 2011-04-09 15:58:19

有没有其他的方式来旋转图像没有任何过滤器/ html5 ..它是讨厌的,在现实世界中没用,但可能的。

您可以将图像存储为像素数组,用于javascript。编写函数来执行旋转并将其编码为base64数据文件,bmp可以很容易并用它替换image.src。

将有大约在旧浏览器和当然可怕性能文件大小和支持的一些限制..