第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Javascript Canvas 從圖像中獲取數(shù)據(jù)并顯示它

Javascript Canvas 從圖像中獲取數(shù)據(jù)并顯示它

有只小跳蛙 2021-06-23 17:15:00
我不知道為什么這不起作用。圖像的 src 屬性隨新數(shù)據(jù)而變化,但圖像實際上并不可見。我嘗試了幾種不同的圖像。它只是瀏覽器中的 javascript 并且需要 Jquery。<body><img src="" id="test"></body><script>    const canvas = document.createElement("canvas");    const ctx = canvas.getContext("2d");    let img = new Image();    img.onload = getIt    img.src = 'download.png';    function getIt() {              canvas.width = this.width;        canvas.height = this.height;        const imageData = ctx.getImageData(0, 0, this.width, this.height);        ctx.drawImage(this, canvas.width , canvas.height);        ctx.putImageData(imageData, canvas.width, canvas.height);        $('#test').get(0).src = canvas.toDataURL("image/png");    }</script>我嘗試了幾種不同的圖像,都是 png。目前這是該項目的完整代碼,所以我不認為有任何可能會干擾它的代碼。結(jié)果是這樣,但看不到圖像:<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAAeCAYAAAAhDE4sAAAAMklEQVRIS+3SsQ0A....etc" id="test">編輯:似乎它可能會錯誤地從圖像中獲取數(shù)據(jù),但我不知道為什么......我的意思是為什么它會獲取數(shù)據(jù)但不完整或不正確?
查看完整描述

1 回答

?
紅糖糍粑

TA貢獻1815條經(jīng)驗 獲得超6個贊

請試試這個:(你不需要獲取或放置圖像數(shù)據(jù))


你也正在做這樣的:ctx.putImageData(imageData, canvas.width, canvas.height);。這意味著您完全在畫布之外繪制圖像。改為這樣做:ctx.putImageData(imageData, 0,0);


const canvas = document.createElement("canvas");


    const ctx = canvas.getContext("2d");

    let img = new Image();

    img.onload = getIt

    img.src = "download.png";


    function getIt() {    

        canvas.width = this.width;

        canvas.height = this.height;

        //draw the image onto the canvas

        ctx.drawImage(this, 0,0);

        //use the data uri 

        test.src = canvas.toDataURL("image/png");

    }

<img src="" id="test">


查看完整回答
反對 回復(fù) 2021-06-24
  • 1 回答
  • 0 關(guān)注
  • 1261 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號