91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么解決畫布圖像getImageData和toDataURL跨域問題

發布時間:2022-03-16 16:14:30 來源:億速云 閱讀:145 作者:iii 欄目:web開發

這篇文章主要介紹了怎么解決畫布圖像getImageData和toDataURL跨域問題的相關知識,內容詳細易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇怎么解決畫布圖像getImageData和toDataURL跨域問題文章都會有所收獲,下面我們一起來看看吧。

 一、首先,圖片服務器需要配置Access-Control-Allow-Origin

一般團隊都會有一個專門域名放置靜態資源,例如騰訊是gtimg.com,百度是bdimg.com;或者很多團隊使用的是騰訊云或者阿里云的服務。

而主頁面所在域名往往不一樣,當需要需要對canvas圖片進行getImageData()或toDataURL()操作的時候,跨域問題就出來了,而且跨域問題還不止一層。

首先,第一步,圖片服務器需要配置Access-Control-Allow-Origin信息,例如:

如PHP添加響應頭信息,*通配符表示允許任意域名:

header("Access-Control-Allow-Origin: *");

或者指定域名:

header("Access-Control-Allow-Origin: www.zhangxinxu.com");

此時,Chrome瀏覽器就不會有Access-Control-Allow-Origin相關的錯誤信息了,但是,還會有其他的跨域錯誤信息。

二、canvas圖片getImageData cross-origin跨域問題

對于跨域的圖片,只要能夠在網頁中正常顯示出來,就可以使用canvas的drawImage() API繪制出來。但是如果你想更進一步,通過getImageData()方法獲取圖片的完整的像素信息,則多半會出錯。

舉例來說,使用下面代碼獲取github上的自己頭像圖片信息:

var canvas = document.createElement('canvas');
var context = canvas.getContext('2d');

var img = new Image();
img.onload = function () {
    context.drawImage(this, 0, 0);
    context.getImageData(0, 0, this.width, this.height);
};
img.src = 'https://avatars3.githubusercontent.com/u/496048?s=120&v=4';';

關于“怎么解決畫布圖像getImageData和toDataURL跨域問題”這篇文章的內容就介紹到這里,感謝各位的閱讀!相信大家對“怎么解決畫布圖像getImageData和toDataURL跨域問題”知識都有一定的了解,大家如果還想學習更多知識,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

铅山县| 雷山县| 宁武县| 贵阳市| 揭西县| 石狮市| 探索| 内乡县| 塔城市| 乐平市| 乐东| 嫩江县| 昭平县| 玛多县| 皋兰县| 梅州市| 萨嘎县| 临潭县| 白河县| 资讯| 霞浦县| 芦溪县| 太谷县| 永康市| 漠河县| 封丘县| 玉环县| 吴旗县| 驻马店市| 海林市| 彝良县| 亳州市| 建湖县| 抚远县| 雷州市| 本溪市| 九龙坡区| 长海县| 会泽县| 博野县| 柳州市|