摘要:前言近期有個(gè)手機(jī)端上傳圖片功能的項(xiàng)目,在手機(jī)上體驗(yàn)很好但在手機(jī)上,圖片有時(shí)會(huì)出現(xiàn)角度旋轉(zhuǎn)。頁(yè)面是獲取圖片角度的插件圖片方向角檢查圖片格式請(qǐng)選擇格式的圖片獲取照片方向角屬性需要順時(shí)針度旋轉(zhuǎn)需要逆時(shí)針度旋轉(zhuǎn)需要度旋轉(zhuǎn)
前言
近期有個(gè)手機(jī)端html5上傳圖片功能的項(xiàng)目,在android手機(jī)上體驗(yàn)很好但在IOS手機(jī)上,圖片有時(shí)會(huì)出現(xiàn)角度旋轉(zhuǎn)。google后找到了解決方法,現(xiàn)在總結(jié)下供以后使用。
html頁(yè)面exif.js是獲取圖片角度的javascript插件
uploadImage.js$(".uploadImage input").change(function () { selectFileImage($(this)[0]); }); function selectFileImage(fileObj) { var file = fileObj.files[0]; // 圖片方向角 var Orientation = null; if (file) { var rFilter = /^(image/jpeg|image/png)$/i; // 檢查圖片格式 if (!rFilter.test(file.type)) { alert("請(qǐng)選擇jpeg、png格式的圖片"); return; } //獲取照片方向角屬性 EXIF.getData(file, function () { EXIF.getAllTags(this); Orientation = EXIF.getTag(this, "Orientation"); }); } var reader = new FileReader(); reader.readAsDataURL(file); reader.onload = function (e) { var image = new Image(); image.src = e.target.result; image.onload = function () { var canvas = document.createElement("canvas"); canvas.width = this.naturalWidth; canvas.height = this.naturalHeight; var ctx = canvas.getContext("2d"); ctx.drawImage(this, 0, 0, this.naturalWidth, this.naturalHeight); var base64 = null; if (Orientation != "" && Orientation != 1 && Orientation != undefined) { var width = this.naturalWidth; var height = this.naturalHeight; switch (Orientation) { case 6://需要順時(shí)針90度旋轉(zhuǎn) canvas.width = height; canvas.height = width; ctx.rotate(90 * Math.PI / 180); ctx.drawImage(this, 0, -height); break; case 8://需要逆時(shí)針90度旋轉(zhuǎn) canvas.width = height; canvas.height = width; ctx.rotate(-90 * Math.PI / 180); ctx.drawImage(this, -width, 0); break; case 3://需要180度旋轉(zhuǎn) ctx.rotate(180 * Math.PI / 180); ctx.drawImage(this, -width, -height); break; } } base64 = canvas.toDataURL("image/png"); $("#myImage").attr("src", base64); }; }; }
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/82219.html
摘要:原文還是在簡(jiǎn)書上上傳本地圖片處理各種問題這是最近給公司寫一個(gè)項(xiàng)目,項(xiàng)目要求大概是這樣子上傳手機(jī)本地圖片,然后裁剪后加的需求能夠旋轉(zhuǎn)圖片,用于裁剪后面加的需求填寫各種文字,選擇顏色,之后把文字和個(gè)相關(guān)的圖片,水印到裁剪的圖片上,上傳服務(wù)器生成 原文還是在簡(jiǎn)書上: html5 上傳本地圖片處理各種問題 這是最近給公司寫一個(gè)項(xiàng)目,項(xiàng)目要求大概是這樣子:1.上傳手機(jī)本地圖片,然后裁剪(后加的需...
摘要:原文還是在簡(jiǎn)書上上傳本地圖片處理各種問題這是最近給公司寫一個(gè)項(xiàng)目,項(xiàng)目要求大概是這樣子上傳手機(jī)本地圖片,然后裁剪后加的需求能夠旋轉(zhuǎn)圖片,用于裁剪后面加的需求填寫各種文字,選擇顏色,之后把文字和個(gè)相關(guān)的圖片,水印到裁剪的圖片上,上傳服務(wù)器生成 原文還是在簡(jiǎn)書上: html5 上傳本地圖片處理各種問題 這是最近給公司寫一個(gè)項(xiàng)目,項(xiàng)目要求大概是這樣子:1.上傳手機(jī)本地圖片,然后裁剪(后加的需...
閱讀 2505·2021-11-24 10:29
閱讀 2647·2021-09-24 09:48
閱讀 5754·2021-09-22 15:56
閱讀 3166·2021-09-06 15:00
閱讀 2678·2019-08-30 15:54
閱讀 751·2019-08-30 13:48
閱讀 2928·2019-08-30 11:17
閱讀 3431·2019-08-29 11:20