zoukankan      html  css  js  c++  java
  • 【js】js 让图片旋转

     转http://www.cnblogs.com/ustcyc/p/3760116.html

    核心:
    canvas.style.filter = "progid:DXImageTransform.Microsoft.Matrix(M11=" + costheta + ",M12=" + (-sintheta) + ",M21=" + sintheta + ",M22=" + costheta + ",SizingMethod='auto expand')";
    看起来像ie专属的,ff chrome呢

    css3实现图片旋转功能:支持的浏览器有chrome,firefox;opera是不支持的。
    具体代码为:-moz-transfrom:rotate(90deg);-webkit-ransfrom:rotate(90deg);
    上述代码的意思就是将图片顺时针旋转90度,其实可以旋转任意的度数。但是支持css3的浏览器只有chrome,firefox3.6 ,safari,ie浏览器是不支持的。那么IE
    下该怎么处理呢?于是就有了下面的一种方案
    2)在IE下通过滤镜来实现旋转
    具体代码为:filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=1);
    这里的rotation 参数可以为0,1,2,3 ,表示的意思就是这些数字乘以90后的旋转角度。IE下如果要旋转任意的角度要用到矩阵变换滤镜,我们在日常的使用过程中,
    大部分使用的是变换90的倍数,这里就不讨论任意的角度了。但是还是有问题的,如果非ie浏览器,不支持CSS3,那么如果实现图片的旋转呢,其实canvas也是可以图片旋转的。
    3)用canvas来实现图片的旋转
    canvas在chrome,firefox,opera等浏览器中均支持,他是有一个基于 JavaScript 的绘图 API,。首先我们来看看怎样利用canvas+JavaScript实现图片的旋转
    代码如下:
    
    复制代码 代码如下:
    
    var test = function(){
            var canvas = document.getElementById("result");
            var oImg = document.getElementById("Img");        
            canvas.height = 300;
            canvas.width = 200;
            var context = canvas.getContext("2d");
            context.save();
            context.translate(200,0);
            context.rotate(Math.PI/3);
            context.drawImage(oImg, 0, 0, 300, 200);
            context.restore();
            oImg.style.display = "none";
    };
    上述代码首先得到一个canvas对象,然后设置他的高度,开始绘图了。这个改变canvas的中心点和旋转角度,然后将图片画到canvas中去,将其存储起来,然后
    隐藏之前的图片。这种方法实现还是比较平滑的。



    jquery版
    转http://blog.csdn.net/cangkukuaimanle/article/details/7414985
  • 相关阅读:
    第15.26节 PyQt(Python+Qt)入门学习:Model/View架构中的便利类QListWidget详解
    第二十一章、 Model/View便利类列表部件QListWidget详解
    PyQt(Python+Qt)学习随笔:QListWidget的信号简介
    iis日志存放位置 及 查看方法
    如何查看和分析IIS日志
    IIS网站设置禁止IP访问设置方法
    修改php默认的FastCGI模式为ISAPI模式的方法
    VPS/云主机CPU占用100%故障排查
    APACHE服务器httpd.exe进程占用cpu100%的解决方法
    httpd.exe占用100%CPU
  • 原文地址:https://www.cnblogs.com/viewcozy/p/4828087.html
Copyright © 2011-2022 走看看