首頁 web前端 js教程 使圖片旋轉的3個解決方案_基礎知識

使圖片旋轉的3個解決方案_基礎知識

May 16, 2016 pm 05:13 PM
圖片旋轉

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

一、圖片旋轉的方案

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");
             canvas.height = 300;
        canvas.width = 200;
        var context = canvas.getContext("2d");
   translate(200,0);
        context.rotate (Math.PI/3);
        context.drawImage(oImg, 0, 0, 300, 200);
      🎜 >};

上述程式碼先得到一個canvas對象,然後設定他的高度,開始繪圖了。這個改變canvas的中心點和旋轉角度,然後將圖片畫到canvas中去,將其儲存起來,然後

隱藏先前的圖片。這種方法實作還是比較平滑的。

二、各種方案的對比

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

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

<🎜>:泡泡膠模擬器無窮大 - 如何獲取和使用皇家鑰匙
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系統,解釋
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆樹的耳語 - 如何解鎖抓鉤
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1665
14
CakePHP 教程
1423
52
Laravel 教程
1321
25
PHP教程
1269
29
C# 教程
1249
24
如何使用 JavaScript 實現圖片旋轉效果? 如何使用 JavaScript 實現圖片旋轉效果? Oct 20, 2023 pm 07:09 PM

如何使用JavaScript實現圖片旋轉效果?在網頁開發中,常會遇到需要實現圖片旋轉效果的場景,例如展示產品360°旋轉圖、實現圖片輪播效果等。而JavaScript是一種強大的腳本語言,可以輕鬆實現這種圖片旋轉效果。以下將介紹一種基於JavaScript實現圖片旋轉效果的方法,並提供具體的程式碼範例。首先,我們建立一個簡單的HTML結

使用uniapp實現圖片旋轉功能 使用uniapp實現圖片旋轉功能 Nov 21, 2023 am 11:58 AM

使用uniapp實現圖片旋轉功能在行動應用開發中,經常遇到需要對圖片進行旋轉的場景,例如拍攝照片後需要進行調整角度,或實現類似相機拍照後旋轉的效果。本文將介紹如何使用uniapp框架實現圖片旋轉功能,並提供具體的程式碼範例。 uniapp是一個基於Vue.js的跨平台開發框架,可以同時開發和發布iOS、Android、H5等多個平台的應用程式。在uniapp中實現

利用PHP和GD庫實現圖片旋轉的方法 利用PHP和GD庫實現圖片旋轉的方法 Jul 12, 2023 am 11:52 AM

利用PHP和GD庫實現圖片旋轉的方法圖片旋轉是一個常見的影像處理需求,透過旋轉圖片可以實現一些特殊的效果或滿足使用者需求。在PHP中,可以藉助GD庫來實現圖片旋轉功能。本文將介紹如何使用PHP和GD庫來實現圖片旋轉,並附帶程式碼範例。首先,確保你的PHP環境已經安裝了GD庫拓展。在命令列中輸入php-m,查看是否有gd模組,如果沒有則需要先安裝。下面是一個簡單

實現微信小程式中的圖片旋轉效果 實現微信小程式中的圖片旋轉效果 Nov 21, 2023 am 08:26 AM

實現微信小程式中的圖片旋轉效果,需要具體程式碼範例微信小程式是一種輕量級的應用程序,為用戶提供了豐富的功能和良好的用戶體驗。在小程式中,開發者可以利用各種元件和API來實現各種效果。其中,圖片旋轉效果是一種常見的動畫效果,可以為小程式增添趣味性和視覺效果。在微信小程式中實作圖片旋轉效果,需要使用小程式提供的動畫API。以下是一個具體的程式碼範例,展示如何在小程

Golang實現圖片旋轉和翻轉的方法 Golang實現圖片旋轉和翻轉的方法 Aug 27, 2023 pm 01:03 PM

Golang實現圖片旋轉和翻轉的方法在影像處理中,經常需要對圖片進行旋轉和翻轉的操作。本文將介紹使用Golang實現圖片旋轉和翻轉的方法,並提供相應的程式碼範例。首先,我們需要導入image和image/draw兩個套件:import("image""image/draw")接下來,我們定義一個函數

Vue開發中如何解決行動端圖片旋轉問題 Vue開發中如何解決行動端圖片旋轉問題 Jun 29, 2023 pm 09:22 PM

隨著行動互聯網的快速發展,越來越多的網站和應用程式開始採用Vue.js進行行動裝置開發。然而,在行動端開發過程中,常會遇到圖片旋轉的問題。圖片旋轉是指當使用者在行動裝置上拍攝照片時,由於裝置方向的變化,導致照片在頁面上顯示的角度與實際拍攝的角度不一致。解決圖片旋轉問題,首先需要了解圖片旋轉的原因。當使用者在行動裝置上拍攝照片時,裝置會自動為照片添加一些元數據,其

優化Java開發中的圖片旋轉縮放效能的方法 優化Java開發中的圖片旋轉縮放效能的方法 Jun 30, 2023 pm 04:34 PM

隨著網路的發展,圖片的處理變得越來越常見。在Java開發中,經常需要處理圖片的旋轉和縮放,如何優化這些操作的效能成為開發者關注的問題。本文將討論如何在Java開發中優化圖片旋轉縮放的效能。首先,我們來了解圖片旋轉和縮放的原理。圖片旋轉是指將圖片依照旋轉中心逆時針或順時針旋轉一定的角度。而圖片縮放是指透過改變圖片的尺寸來達到縮小或放大的效果。在Java開

使用PHP和GD庫實現圖片旋轉的最佳實踐 使用PHP和GD庫實現圖片旋轉的最佳實踐 Jul 12, 2023 am 09:53 AM

使用PHP和GD庫實現圖片旋轉的最佳實踐概述:圖片旋轉是Web開發中常見的需求之一,透過旋轉圖片可以達到改變圖片方向或調整圖片角度的目的。在PHP中,可以透過GD庫來實現圖片旋轉的功能。本文將介紹如何使用PHP和GD庫來實現圖片旋轉,並分享一些最佳實踐和程式碼範例。一、安裝GD函式庫在開始前,我們要確保伺服器上已經安裝了GD函式庫。如果沒有安裝的話,可以按照以下

See all articles