代码之家  ›  专栏  ›  技术社区  ›  rahul

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

  •  14
  • rahul  · 技术社区  · 15 年前

    嗨,有没有一种方法可以使图像在一个DIV内顺时针或逆时针旋转?

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

    我用矩阵滤波器来完成。我想知道在IE中不使用任何过滤器是否可行。

    5 回复  |  直到 9 年前
        1
  •  15
  •   Derek    15 年前

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

    使用画布,但也支持IE

        2
  •  12
  •   Paweł Witkowski Photography    9 年前

    如果您使用jquery,jqueryrotate是一个小插件(小于3kb的minified+gzipped),用于旋转图像:

    http://jqueryrotate.com/

        3
  •  3
  •   Blixt    15 年前

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

    另一种方法是使用服务器端脚本来旋转图像。然后,您可以发送有关如何使用javascript旋转它的信息(即生成指向图像的路径,如/rotate)?图像=img.jpg&amount=90)

        4
  •  2
  •   Alex Johnson Michal M    12 年前

    CSS3 supports rotation 但是 it isn't widely supported . 正如您所要求的javascript解决方案, here's one 但是我认为你不能得到平滑的图像。

        5
  •  1
  •   user1954035    12 年前

    还有其他方法可以在不使用任何过滤器/HTML5的情况下旋转图像。在现实世界中,这是肮脏和无用的,但可能。

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

    旧浏览器中的文件大小和支持会有一些限制,当然性能也很差。