老熟女激烈的高潮_日韩一级黄色录像_亚洲1区2区3区视频_精品少妇一区二区三区在线播放_国产欧美日产久久_午夜福利精品导航凹凸

重慶分公司,新征程啟航

為企業(yè)提供網(wǎng)站建設(shè)、域名注冊、服務(wù)器等服務(wù)

Canvas跨域脫坑的示例分析

小編給大家分享一下Canvas跨域脫坑的示例分析,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

創(chuàng)新互聯(lián)主要從事網(wǎng)頁設(shè)計(jì)、PC網(wǎng)站建設(shè)(電腦版網(wǎng)站建設(shè))、wap網(wǎng)站建設(shè)(手機(jī)版網(wǎng)站建設(shè))、響應(yīng)式網(wǎng)站設(shè)計(jì)、程序開發(fā)、網(wǎng)站優(yōu)化、微網(wǎng)站、小程序制作等,憑借多年來在互聯(lián)網(wǎng)的打拼,我們在互聯(lián)網(wǎng)網(wǎng)站建設(shè)行業(yè)積累了豐富的成都網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè)、網(wǎng)站設(shè)計(jì)、網(wǎng)絡(luò)營銷經(jīng)驗(yàn),集策劃、開發(fā)、設(shè)計(jì)、營銷、管理等多方位專業(yè)化運(yùn)作于一體。

先來看下實(shí)現(xiàn)方法。

實(shí)現(xiàn)方法

目標(biāo)圖片一般是由 圖片 + 文本 構(gòu)成。無論是千奇百怪的大小圖片,還是變幻莫測的各式文本,都能用 canvas api drawImage 和 fillText 方法來完成。

基本流程如下:

1、獲取 canvas 上下文 -- ctx

const canvas = document.querySelector(selector)
const ctx = canvas.getContext('2d')

2、繪圖

忽略圖片上的內(nèi)容,直接用 drawImage 將其畫到 canvas 畫布上即可。

const image = new Image()
image.src = src
image.onload = () => {
    ctx.save()
    // 這里我們采用以下參數(shù)調(diào)用
    this.ctx.drawImage(image, dx, dy, dWidth, dHeight)
    this.ctx.restore()
}

drawImage 有3種參數(shù)使用方式,具體用法可以查看MDN 文檔。

3、獲取圖像數(shù)據(jù)

調(diào)用 HTMLCanvasElement DOM 對象提供的 toBlob(), toDataURL() 或 getImageData() 方法,即可。

canvas.toBlob(blob => {
    // 你要的 blob
}, mimeType, encoderOptions)

這里的 mimeType 默認(rèn)值為 image/png。encoderOptions 指定了圖片質(zhì)量,可用于壓縮,不過需要 mimeType 格式為 image/jpeg 或者 image/webp。

Canvas 跨域

正常情況下,如果需要將繪制好的圖像輸出,我們可以調(diào)用 canvas 的 toBlob(), toDataURL() 或 getImageData() 方法來獲取到圖像數(shù)據(jù)。然而,遇到圖片跨域的情況就有些尷尬了。可能回報(bào)如下錯誤:

Failed to execute 'toBlob' on 'HTMLCanvasElement': Tainted canvases may not be exported.

或者

Access to image at 'https://your.image.src' from origin 'https://your.website' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.

先來看看第2種情況。

Access-Control-Allow-Origin

如果你跨域使用某些圖片資源,并且該服務(wù)未正確響應(yīng) Access-Control-Allow-Origin 頭信息, 則會報(bào)出如下錯誤信息:

Access to image at 'https://your.image.src' from origin 'https://your.website' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.

說明不允許跨域訪問,那么你可以試著讓后臺修改 Access-Control-Allow-Origin 的值為 * 或 your.website, 或者改用同域資源(考慮下?)。

接下來,我們來解決第1種情況。

img.crossOrigin = 'Anonymous'

為避免未經(jīng)許可拉取遠(yuǎn)程網(wǎng)站信息而導(dǎo)致的用戶隱私泄露(如 GPS 等信息,具體可搜索 Exif),在調(diào)用 canvas 的 toBlob(), toDataURL() 或 getImageData() 會拋出安全錯誤:

Failed to execute 'toBlob' on 'HTMLCanvasElement': Tainted canvases may not be exported.

如果你的圖片服務(wù)允許跨域使用(如果不允許,見上條),那么你該考慮下給 img 元素加上 crossOrigin 屬性,即:

const image = new Image()
image.crossOrigin = 'Anonymous'
image.src = src

以上是“Canvas跨域脫坑的示例分析”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!


網(wǎng)站欄目:Canvas跨域脫坑的示例分析
網(wǎng)頁地址:http://www.xueling.net.cn/article/podidd.html

其他資訊

在線咨詢
服務(wù)熱線
服務(wù)熱線:028-86922220
TOP
主站蜘蛛池模板: 国产无套精品久久久久久 | 中文屏幕乱码av | 在线观看av你懂的 | 少妇一级淫片免费放播放 | 久久精品国产亚洲aa级女大片 | 国产做受网站 | 91爱网 | 欧美一区内射最近更新 | 艳妇荡女的呻吟干柴烈火视频 | 天天干天天操天天搞 | 成人嫩草 | 97公开免费视频 | 国产特黄一级免费AA大片 | 尤物精品在线 | 91视频免费入口 | 中文字幕亚洲无线码 | 在线观看视频中文字幕 | 精品视频一区二区三区在线观看 | 扒开粉嫩的小缝喷白浆h | 欧美黑人巨大 | 无码人妻免费—区二区三 | 久色porn| 亚洲av永久无码天堂网 | 午夜精品成人在线视频 | 黄色视屏在线看 | 国产一精品一AV一免费 | 色综合天天综合网国产成人综合天 | 国产一区二区日本欧美精品久久久 | 日韩精品欧美激情 | 天堂av首页| 国产精品成人片在线观看 | 欧美人与禽ZOZ0善交 | 欧美va大片 | 免费看av大片 | 国产在线观看免费视频在线 | 中文字幕在线免费看 | 欧美猛男军警GAY自慰 | 91精品国产综合久久久久久丝袜 | 日韩欧美一区二区三区免费看 | 乱码午夜-极国产极内射 | 午夜亚洲国产理论片无码片 |