久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

javascript - canvas畫圖

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

問題描述

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

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)//畫好的第一個(gè)canvas對(duì)象可以正常顯示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作圖加載成一張圖片,是因?yàn)椴恢纁anvas可不可以繪制canvas document.body.appendChild(newImg)//這張圖片能正常顯示 document.body.appendChild(canvas2)//canvas元素加上了,但是繪圖不成功} }

問題解答

回答1:

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

html方式

<img src='http://m.baoyu77737.com/wenda/...' crossOrigin='Anonymous' />

js方式

var image = new Image();image.src = 'http://m.baoyu77737.com/wenda/...';image.crossOrigin = 'Anonymous';

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

標(biāo)簽: JavaScript
相關(guān)文章:
主站蜘蛛池模板: 嘉善县| 上蔡县| 富顺县| 广灵县| 石城县| 华坪县| 东辽县| 通渭县| 克什克腾旗| 祁东县| 杂多县| 北海市| 东方市| 连城县| 襄汾县| 稻城县| 涪陵区| 寿光市| 潮安县| 台南市| 揭西县| 天镇县| 枣庄市| 恩施市| 肇东市| 白朗县| 荣昌县| 玛纳斯县| 德江县| 吉木萨尔县| 龙海市| 咸丰县| 长顺县| 赤壁市| 仙居县| 五指山市| 凤凰县| 兖州市| 海门市| 如皋市| 高雄市|