IOS canvas drawImage img 取不到 src

需求:如今須要一個簽名版,用戶能夠分屢次簽名字的姓和名。 屢次簽名平合成一個圖片 傳遞給後臺。html

現象:pc,安卓顯示均正確,但ios上 合成的圖片老是顯示不出來。ios

html:canvas

<div>
    <canvas id="single"></canvas>
    <img id="singleImg">
    <canvas id="compose"></canvas>
    <img id="composeImg">
</div>

JS:使用了jSignature.js 插件跨域

 var data = $('#single').jqSignature('getDataURL');//獲取單次簽名的base64
 var img = document.getElementById("singleImg");
img .prop("src",data);//顯示給用戶
$('#single').jqSignature('clearCanvas');

var c = document.getElementById("compose");
var ctx = c.getContext("2d");
img.onload function(){
      ctx.drawImage(img,w,0,100,100);
      w+=100;
      var data2 = c.toDataURL();
      $("#composeImg").prop("src",data2);
};

查出問題所在的思路:spa

一開始並無將代碼寫在插件

img.onload 方法裏
===========================================================================

一開始上網查看有的說是跨域的問題,額。。。code

1. data2 沒有取到   alert出來是有的,base64的一大串htm

2. 既然src是有的,那就是合成時沒畫上去?blog

  因而把data2的內容寫到頁面上,賦值出來,直接賦值到html的img src屬性上  哭~ 空白圖片

3. drawImage的問題? 把img 的src 寫到頁面上, 居然和2 的base64 字符串同樣, 空白~~~

4.好吧好吧,問題嘗試嘗試着就清晰了,把 img onload 的時候 打印出 img src    出來了~~~

問題的根源就是圖片尚未load 成功。

相關文章
相關標籤/搜索