麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > JavaScript > 正文

使圖片旋轉的3種解決方案

2019-11-20 21:37:28
字體:
來源:轉載
供稿:網友

圖片旋轉效果的研究
最近在項目中需要做圖片的旋轉功能,我研究了一下。下面來總結下圖片旋轉在各個瀏覽器的支持情況

一、圖片旋轉的方案

1)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中去,將其存儲起來,然后
隱藏之前的圖片。這種方法實現還是比較平滑的。

二、各種方案的對比

css3的實現方案,不會改變原始圖片所占空間的大小的,但是ie下的濾鏡會改變圖片所占空間的大小。
其實ie下也是可以支持canvas的,只需要引用一個canvas的腳本。這個是有google提供的一個。但是這個腳本有點大,沒有壓縮前有20多k
我比較建議在ie下使用濾鏡來實現,其他的瀏覽器使用canvas 標簽來實現。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 黄色7777 | 秋霞a级毛片在线看 | 久久精品在这里 | 久久久久久久久日本理论电影 | 大西瓜永久免费av在线 | 国产一级淫片在线观看 | 真人一级毛片免费 | 99精品在线免费 | 色淫视频| 欧美视频在线一区二区三区 | 天天鲁在线视频免费观看 | 国产91免费看 | 久久国产精品久久久久 | 男女生羞羞视频网站在线观看 | 国产精品亚洲一区二区三区在线观看 | 毛片免费在线 | 免费国产一级特黄久久 | 国产日韩线路一线路二 | 欧美女同hd | 欧美大胆xxxx肉体摄影 | 成人午夜影院 | www69xxxxx| 特级无码毛片免费视频尤物 | 久色视频| 三人弄娇妻高潮3p视频 | 永久久久 | 久久久久久久久浪潮精品 | 久久91亚洲精品久久91综合 | 高清国产午夜精品久久久久久 | 国产一区在线观看视频 | 国产影院在线观看 | 久久精品一区二区三 | 国产精品视频久 | 精品亚洲夜色av98在线观看 | 五月天堂av91久久久 | 91久久久久久久一区二区 | 亚洲天堂在线电影 | 91性视频 | 精品国产一区二区三区四区阿崩 | 精品国产一区二区三区久久久 | 一级毛片真人免费播放视频 |