av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

您的位置:首頁技術文章
文章詳情頁

javascript - canvas畫圖

瀏覽:102日期:2023-03-25 15:14:23

問題描述

寫了一個函數,第一次調用canvas的drawImage將本地的一張圖片的一部分給畫下來(能夠成功),然后將canvas畫好的這張圖調用toDataURL轉化為image對象的src屬性,然后對這張canvas畫的圖調用同樣的方法進行二次繪畫為什么不能成功?

function paint(img) {var canvas = document.createElement(’canvas’)canvas.width = 400canvas.height = 400var ctx = canvas.getContext(’2d’)ctx.drawImage(img, 0, 0, img.width, img.height, 0, 0, 400, 400)document.body.appendChild(canvas)//畫好的第一個canvas對象可以正常顯示var newImg = new Image()newImg.src = canvas.toDataURL()newImg.onload = function() { var canvas2 = document.createElement(’canvas’) canvas2.width = 200 canvas2.height = 200 var ctx2 = canvas2.getContext(’2d’) ctx2.drawImage(newImg, 0, 0, Math.abs(posX), Math.abs(posY), 0, 0, 200, 200)//這里之所以把第一次的canvas作圖加載成一張圖片,是因為不知道canvas可不可以繪制canvas document.body.appendChild(newImg)//這張圖片能正常顯示 document.body.appendChild(canvas2)//canvas元素加上了,但是繪圖不成功} }

問題解答

回答1:

你是不是用的外站圖片? 如果是,需要給圖片加上 crossOrigin='Anonymous' 屬性。

html方式

<img src='http://m.4tl426be.cn/wenda/...' crossOrigin='Anonymous' />

js方式

var image = new Image();image.src = 'http://m.4tl426be.cn/wenda/...';image.crossOrigin = 'Anonymous';

你可以在線把玩一下我用你的代碼修改的可運行的版本:https://jsfiddle.net/5g9n9esk/

標簽: JavaScript
相關文章:
主站蜘蛛池模板: 国产精品久久久久久久久免费丝袜 | 国产精品久久久久aaaa九色 | 波多野吉衣在线播放 | 午夜免费电影院 | 亚洲视频二区 | 免费a大片 | 欧美精品一区久久 | 亚洲一区二区三区欧美 | 毛片一级黄色 | 亚洲欧美日韩系列 | 日韩成人在线播放 | 精品成人佐山爱一区二区 | 国产伦一区二区三区 | 久久久青草 | 欧美激情视频一区二区三区在线播放 | 久久福利电影 | 成人欧美一区二区 | 成人在线精品 | 国产精品成人一区二区三区夜夜夜 | 国产精品精品视频一区二区三区 | 国产精品一区二 | 成人一区二区三区 | 欧美日韩在线一区二区 | 成人一区二区视频 | 天堂va在线 | 国产精品av久久久久久毛片 | 久久精品免费观看 | 浴室洗澡偷拍一区二区 | 91亚洲国产成人久久精品网站 | 伊人精品一区二区三区 | 五月天国产视频 | 91五月婷蜜桃综合 | 亚洲精品久久久一区二区三区 | 国产婷婷精品 | 国内91在线| 日韩欧美在线视频 | 自拍偷拍亚洲欧美 | 成人午夜激情 | 三级av网址 | 久热精品在线 | 欧美大片在线观看 |