1. 程式人生 > >JS獲取照片拍攝的角度屬性,用於旋轉控制

JS獲取照片拍攝的角度屬性,用於旋轉控制

在微信裡蘋果手機上傳圖片會被旋轉,與拍攝時的角度不同,所以需要處理:

使用EXIF可以獲取到照片的拍攝屬性:

複製程式碼
//獲取照片方向角屬性,使用者旋轉控制 
            EXIF.getData(files, function() {
                //alert(EXIF.getTag(this, 'Orientation'));  
                Orientation = EXIF.getTag(this, 'Orientation'); 
//                return; 
            });
複製程式碼

其中Orientation就是拍攝的角度資訊;其他引數資訊可以檢視:http://code.ciaoca.com/javascript/exif-js/

複製程式碼
//修復ios 
                            if (navigator.userAgent.match(www.feifanyule.cn /iphone/i)) {
                                var img = new Image();
                                img.src = resImg.src;
                                img.onload = function(){
                                    var
canvas=document.createElement("canvas"); var ctx=canvas.getContext("2d"); var imgWidth = canvas.width = this.width; var imgHeight = canvas.height = www.vboyule.cn this.height;
//如果方向角不為1,都需要進行旋轉 added by lzk if(Orientation && Orientation != 1){ switch(Orientation){ case 6: // 旋轉90度 canvas.width = this.height; canvas.height = this.width; ctx.rotate(Math.PI / 2); // (0,-imgHeight) 從旋轉原理圖那裡獲得的起始點 ctx.drawImage(this, www.ruishengks.com  0, -imgHeight, imgWidth, imgHeight); break; case 3: // 旋轉180度 ctx.rotate(Math.PI); ctx.drawImage(this, -imgWidth, -imgHeight, imgWidth, imgHeight); break; case 8: // 旋轉-90度 canvas.width = imgHeight; canvas.height = imgWidth; ctx.rotate(3 * Math.PI / 2); ctx.drawImage(this, -imgWidth, 0, imgWidth, imgHeight); break; } }else{ ctx.drawImage(this, 0, 0, imgWidth, imgHeight); } var base64code=canvas.toDataURL("image/png",1); $(resImg).attr("src",www.yisheng1178.com base64code); var $blob = baseToBlobImg(base64code); if($(_self).attr('id') == 'hiddenServerId'){ chooseImgList[0].serverImg = $blob //接收blob }else{ chooseImgList[1www.dfgj157.com].serverImg = $blob //接收blob } } }else{ //非蘋果手機壓縮後上傳 var base64code = resImg.src; var $blob = baseToBlobImg(base64code); if($(_self).attr('id'www.baohuayule.net) == 'hiddenServerId'){ chooseImgList[0].serverImg = $blob //接收blob }else{ chooseImgList[1].serverImg = $blob //接收blob } }

相關推薦

JS獲取照片拍攝角度屬性用於旋轉控制

在微信裡蘋果手機上傳圖片會被旋轉,與拍攝時的角度不同,所以需要處理:使用EXIF可以獲取到照片的拍攝屬性://獲取照片方向角屬性,使用者旋轉控制 EXIF.getData(files, function() { //a

ExifInterface 獲取照片拍攝引數(ISO,光圈解析度等)以及MediaMetadataRetriever 獲取視訊錄製引數(時長時間位元速率格式)

深夜趕緊補一篇熱乎的文章。 才疏學淺,也是Google 好久才找到2個關鍵的 API。 MediaMetadataRetriever 和 ExifInterface,大佬可以直接跳過下面文章,直接去看原始碼。 一: MediaMetada

ExifInterface 獲取照片拍攝引數(ISO,光圈解析度等)以及MediaMetadataRetriever 獲取視訊錄製引數(時長時間位元速率格式)

深夜趕緊補一篇熱乎的文章。 才疏學淺,也是Google 好久才找到2個關鍵的 API。 MediaMetadataRetriever 和 ExifInterface,大佬可以直接跳過下面文章,直接去看原始碼。 一: MediaMetadataRetriever  針對 視

miniUI input設置默認值js獲取年月註意事項數據庫nvl函數使用

我想 sql round gpt rdm port bm25 jquery 統一 2017-6-5周一 今天碰到的一個需求是:兩稅附征模塊進入頁面篩選時間默認值為當前月的上一個月,並根據篩選結果顯示數據,我們用的框架為miniUI。 坑1: 默認值設置,剛剛接觸miniU

js獲取域名設置屬性 阿星小棧

dal AI code 獲取 span mod 域名 sel pan //獲取域名 document.domain //獲取頁面高度 window.innerHeight //設置屬性 document.querySelector(‘.firstModal‘

.net和js 獲取當前url各種屬性

function bst 服務器 文件系統 計算機 資源定位 正在執行 選項 PE 轉來 假設當前頁完整地址是:http://www.test.com:80/aaa/bbb.aspx?id=5&name=kelli "http://"是協議名 "www.test.c

JS獲取中文拼音首字母並通過拼音首字母快速查詢頁面內的中文內容

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

js獲取url 中的值並跳轉相應頁面

實現方法:一:獲取URL帶QUESTRING引數的JAVASCRIPT客戶端解決方案,相當於asp的request.querystring,PHP的$_GET1.函式:<Script language="javascript">function GetRequest() {var url = lo

js 給json物件新增屬性再給新新增的屬性新增值

  json = {id:'123',name:'張三'}      新增一個 status 屬性:   json.newParam ='status';   賦值   json.status = "0";  

iframe js獲取父級元素資訊設定css樣式 和繫結事件

獲取iframe 父級id 為objid的內容。 $('#objid',window.parent.document).val(""); 初始化為iframe 父級 id為cancel1繫結事件 $('#cancel1',window.parent.document).

JS獲取指定日期的前一天一週一個月

//獲取當前日期方法 function getNowFormatDate() { var date = new Date(); var seperator1 = "-"; var year = date.getFullYear(); var month = date.getMonth() + 1; var

前臺JS獲取後臺的Json資料 動態建立table並填充資料

原文:http://wkf41068.iteye.com/blog/1188302 mark一下,這個月要用的東西。主要是資料格式要好好看一下,之前發資料的時候就出現過資料型別不匹配導致post失敗 <!-- 測試點選“檢視流程記錄 ”時激發的JS -->

js-獲取特定物件的值key忽略大小寫

let options={ shareUserId:123, } // let shareUserId=options.shareUserid||options.shareUserId||options.shareUserID; for (let item in options){ i

js 獲取div的name屬性

div標籤沒有value和name屬性,但是我們給div增加一個value或者name,這個也是可以拿到的 一般情況:我們通常用var value = document.getElementById("id值").value;  這種方法來獲取value的值。   &nb

js獲取image中src屬性的方法語句

js中獲取image的src值的語句: var path =  $('#suolue').attr('src'); var path = document.getElementById("suolue").src; var path = $("#suolue")[0].src; 以

js獲取class中的屬性

js獲取class中屬性需要的函式obj.currentStyle[attr]和getComputedStyle(element, null) var oDiv = document.getElementById('div1');    function getStyle

kockout.js的viewmodel物件的屬性在javascript中呼叫的兩種寫法

第一種:  <div>計數:<span data-bind="text: countNumber"></span></div> <button type="submit" data-bind="click: addCou

js獲取元素內容與屬性

如何取 data-xx 屬性值,如果有e引數的話可以用$(e.currentTarget).data('xx');沒有則需要自己新增定位的元素,$('定位元素').data('xx') 用於定位元素的方式有用class定位(語法:$(".class的值")),用id(語法$

【夜半寫點啥】Hbuilder+exif.js獲取照片exif資訊

【概】我在H5端需要這麼一個功能::本地選擇圖片並獲取exif資訊(主要是建立時間、和地點等),翻了半天Hbuilder文件,沒發現這個api,於是目光轉焦到強大滴exif.js上。step1、引入檔案<script type="text/javascript" src

js獲取table選中的行並進行刪除

/** * 刪除選中行 */ $("#subPrize").click(function () { var check=$("input[name='chec