国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

html5 IOS端上傳圖片角度旋轉(zhuǎn)

DDreach / 1952人閱讀

摘要:前言近期有個(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

相關(guān)文章

  • html5 上傳本地圖片處理各種問題

    摘要:原文還是在簡(jiǎn)書上上傳本地圖片處理各種問題這是最近給公司寫一個(gè)項(xiàng)目,項(xiàng)目要求大概是這樣子上傳手機(jī)本地圖片,然后裁剪后加的需求能夠旋轉(zhuǎn)圖片,用于裁剪后面加的需求填寫各種文字,選擇顏色,之后把文字和個(gè)相關(guān)的圖片,水印到裁剪的圖片上,上傳服務(wù)器生成 原文還是在簡(jiǎn)書上: html5 上傳本地圖片處理各種問題 這是最近給公司寫一個(gè)項(xiàng)目,項(xiàng)目要求大概是這樣子:1.上傳手機(jī)本地圖片,然后裁剪(后加的需...

    iOS122 評(píng)論0 收藏0
  • html5 上傳本地圖片處理各種問題

    摘要:原文還是在簡(jiǎn)書上上傳本地圖片處理各種問題這是最近給公司寫一個(gè)項(xiàng)目,項(xiàng)目要求大概是這樣子上傳手機(jī)本地圖片,然后裁剪后加的需求能夠旋轉(zhuǎn)圖片,用于裁剪后面加的需求填寫各種文字,選擇顏色,之后把文字和個(gè)相關(guān)的圖片,水印到裁剪的圖片上,上傳服務(wù)器生成 原文還是在簡(jiǎn)書上: html5 上傳本地圖片處理各種問題 這是最近給公司寫一個(gè)項(xiàng)目,項(xiàng)目要求大概是這樣子:1.上傳手機(jī)本地圖片,然后裁剪(后加的需...

    Taste 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<