好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > Canvas實現保存圖片到本地的示例代碼

Canvas實現保存圖片到本地的示例代碼

熱門標簽:南寧點撥外呼系統哪家公司做的好 成都智能外呼系統平臺 黃島區地圖標注 鎮江智能外呼系統有效果嗎 四川點撥外呼系統 電銷機器人電話用什么卡 當涂高德地圖標注 江蘇智能電銷機器人哪家好 云南大理400電話申請官方

一、簡介

需求: 將HTML5的內容保存為圖片
思路: 通過Canvas繪圖生成base64圖片,長按即可保存到本地
問題: canvas禁止跨域、安卓微信長按不能保存base64圖片、服務器拉取的圖片被壓縮

二、具體問題

問題1:canvas是禁止跨域的,如果圖像來自其他域,調用toDataURL()會拋出一個錯誤

解決:<img>標簽通過引入 crossorigin 屬性能解決跨域, 即crossOrigin="Anonymous" 或 crossOrigin="*"  請注意手q環境下設置 ‘Anonymous’不支持,需要設置為 '*',如果使用 crossorigin="anonymous",則相當于匿名 CORS

問題2:設置了”crossOrigin”的<img>標簽不能拉下跨域的圖片,無法觸發img.onload

解決: 后臺轉發或nigix代理,設置Access-Control-Allow-Origin:“wx.qlogo.cn”,允許靜態資源服務器圖片跨域這種設置 解決獲取圖片跨域的問題。(此處圖片為用戶頭像域名wx.qlogo.cn,存在跨域問題)

問題3:安卓手機微信h5長按不能保存base64圖片

解決:將canvas繪制的base64圖片上傳到服務器上,再從服務器上獲取到png(jpg)圖片。這種做法較麻煩,后面還需要找方法改進。

問題4:上傳到服務器的圖片壓縮嚴重

解決:上傳的圖片會在服務器有幾個資源,壓縮度不一,從目錄 'http://img10.360buyimg.com/promotepic/' 可拿到像素較清晰的圖片。

問題5:繪制的二維碼鏈接(//wqs.jd.com/xxx)長按不能直接進入頁面

解決:指定要繪制的二維碼鏈接一定要加上http: 否則二維碼將識別為文字

//canvas繪制部分代碼:

var picurl = "http://wx.qlogo.cn/mmopen/OicsrgN57fqDxImI3icnMeSXRfVUQRueHcxRRuWG0O1Ea1bNyBPKKKLeq5FiaXFWOdsltVe1R1PtJ2EtsDHYDjHgQ/0";
   var img = new Image,
    canvas = document.createElement("canvas"),
    ctx = canvas.getContext("2d"),
      //后臺nigix代理 參見問題2
      src = picurl.replace("http://wx.qlogo.cn","//wq.jd.com");
      //解決 canvas 跨域 toDataURL不能讀取問題 參見問題1
      img.crossOrigin = "Anonymous";
      //圖片資源的預加載
       img.onload = function() {
             canvas.width = img.width;
            canvas.height = img.height;
             ctx.drawImage( img, 0, 0 );
            //將畫好的base64圖片
             localStorage.setItem( "savedImageData", canvas.toDataURL("image/png") );
      }
       img.src = src;

上傳圖片部分代碼:

// 上傳圖片 參見問題3
$.ajax({
    type: 'POST',
    url:  loadJs.addToken('http://wq.jd.com/activetmp/promotepic/promoteaddpic', "j132"),
    data: {
        filename: new Date().getTime()+''+Math.floor(Math.random()*10000) + '.jpg',
        content: base64pic,
        active: "shotpic20160901"
    },
    dataType: 'json',
    xhrFields: { withCredentials: true },
    success: function(data) {
                           if (picdata.id == 1 && picdata.msg) {
                                    //圖片路徑 此前綴路徑的圖片最清晰 參見問題4
                                    var imgPre = 'http://img10.360buyimg.com/promotepic/';
                                    //圖片地址拼接的完整地址鏈接
                                    var photo = imgPre + picdata.msg;
                                    $("#cardImg")[0].onload = function() {
                                             //to do 業務邏輯
                                    };
                                    $("#cardImg").attr("src",photo);
                           }
    },
    error:function(data){
    }
});

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

標簽:西寧 佳木斯 十堰 淮安 廣西 咸寧 酒泉 南京

巨人網絡通訊聲明:本文標題《Canvas實現保存圖片到本地的示例代碼》,本文關鍵詞  Canvas,實現,保存,圖片,到,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Canvas實現保存圖片到本地的示例代碼》相關的同類信息!
  • 本頁收集關于Canvas實現保存圖片到本地的示例代碼的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: yy4488无码亚洲私人影院| 一级黄色毛片| 成人免费v片在线观看| 国产农村妇女XXXXX乱大交| 大雞巴乱人妻又粗又长| 中文字幕无线| b超被十个医生| 性欧美videofree视频另类| 99久久精品视香蕉蕉er热资源| 求你了使劲c我| 4338×亚洲全国最大色成网站| 少妇婬荡呻吟揉捏奶头视频| 国产精品人成A片一区二区| 国产精品一级| 亚洲黄色三级网站| 狼群影院在线播放手机视频| 国产麻豆91欧美一区二区| 乳奶揉捏揉搓高清视频在线| 孕妇高潮XXXXX孕妇| 女贝网sp打屁股免费视频| 玉林市| 爽文辣文黄文小说h文| 武则天一级婬片A片| 免费看成人A片无码视频尤物| 嗯啊射小子宫里| 日韩性网| 福利视频导航在线观看| 好吊妞视频988gao免费软件| 扶她gl呻吟娇喘| zoofilia杂交videos日本人| 97人妻一区二区精品免费视频 | 两女同性精油按摩| 77788色淫网站免费观看| 女人私密全部露出来| bl粗暴强制挣扎虐哭强边H| 性大片免费观看yy| 啊一一用力灬快点好深| 色天使亚洲综合在线观看| 女人被老外躁得好爽免费视频| 影院成人区精品一区二区婷婷丽春院影视 | 中文字幕精品久久|