婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁(yè) > 知識(shí)庫(kù) > 使用canvas對(duì)多圖片拼合并導(dǎo)出圖片的方法

使用canvas對(duì)多圖片拼合并導(dǎo)出圖片的方法

熱門(mén)標(biāo)簽:欣鼎電銷(xiāo)機(jī)器人 效果 電話(huà)機(jī)器人技術(shù) 高德地圖標(biāo)注商戶(hù)怎么標(biāo) 惡搞電話(huà)機(jī)器人 地圖標(biāo)注軟件打印出來(lái) 智能電銷(xiāo)機(jī)器人被禁用了么 ok電銷(xiāo)機(jī)器人 如何查看地圖標(biāo)注 黃石ai電銷(xiāo)機(jī)器人呼叫中心

先說(shuō)下canvas繪圖的基本方法,如下:

const myCanvas = document.createElement('canvas');
    myCanvas.width = 400;
    myCanvas.height = 400;
const ctx = myCanvas.getContext('2d');
const img = new Image();
img.src = "1.jpg";
//當(dāng)圖片加載完畢的時(shí)候在drawImage,否則可能圖片還沒(méi)有加載完畢
img.onload=()=>{
    ctx.drawImage(img, 0, 0, 100, 50);
}

語(yǔ)法:

drawImage(image, x, y)

以canvas上指定的坐標(biāo)點(diǎn)開(kāi)始,按照?qǐng)D像的原始尺寸大小繪制整個(gè)圖像。

drawImage(image, x, y, width, height)

以canvas上指定的坐標(biāo)點(diǎn)開(kāi)始,以指定的大小(width和height)繪制整個(gè)圖像,圖像會(huì)自動(dòng)縮放。

drawImage(image, imageX, imageY, imageWidth, imageHeight, x, y, width, height)

將指定圖像的局部圖像(以(imageX, imageY)為左上角、寬度為imageWidth、高度為imageHeight的矩形部分)繪制到canvas中以( x, y)為左上角坐標(biāo)、寬度為width、高度為height的矩形區(qū)域中

這次多圖拼合的業(yè)務(wù)場(chǎng)景是做不同內(nèi)容的定制分享圖片,用到的圖片元素有,背景圖片、外鏈圖片、網(wǎng)站logo、定制生產(chǎn)的二維碼圖,需要解決的問(wèn)題,都是在畫(huà)布轉(zhuǎn)圖片輸出時(shí)產(chǎn)出的。主要有3點(diǎn):

1、圖片的跨域問(wèn)題;
2、繪制多圖,造成的畫(huà)布污染;
3、圖片的大??;

首先圖片的跨域問(wèn)題,這個(gè)問(wèn)題在網(wǎng)上已經(jīng)有很多相關(guān)信息,解決辦法如下:

img.setAttribute('crossOrigin', 'anonymous');

當(dāng)解決完跨域問(wèn)題后,在多圖拼合導(dǎo)出后,出現(xiàn)了新的報(bào)錯(cuò)信息:

Uncaught DOMException: Failed to execute 'toDataURL' on 'HTMLCanvasElement': Tainted Canvases may not be exported.

我發(fā)現(xiàn)這個(gè)問(wèn)題時(shí),查看網(wǎng)上的資料,大多也是用上面的跨域方法解決的,可是我明顯在我的業(yè)務(wù)場(chǎng)景里是不管用的。

通過(guò)對(duì)代碼的排查,我發(fā)現(xiàn),背景圖+二維碼圖時(shí),并不會(huì)報(bào)這個(gè)錯(cuò)誤,如外鏈圖片做了跨域處理,單獨(dú)使用時(shí),也不會(huì)報(bào)錯(cuò)。而logo圖片都是本地的文件,顯然不應(yīng)該是跨域問(wèn)題。

那么二維碼圖和背景圖能夠不出錯(cuò)的原因,應(yīng)該在于二維碼圖片源是base64格式的。

于是,我試著將logo圖使用畫(huà)布導(dǎo)出base64格式,然后和背景圖+二維碼圖進(jìn)行拼合,導(dǎo)出時(shí)果然沒(méi)再報(bào)錯(cuò)。

所有解決多圖拼合導(dǎo)出時(shí),Tainted Canvases的問(wèn)題,應(yīng)該是將圖片元素做成base64的格式,就能夠避免了。

因?yàn)槲业臉I(yè)務(wù)場(chǎng)景中有外鏈圖片,而且不是所有的外鏈都對(duì)我網(wǎng)站域名做了跨域允許的處理,所以,在生成外鏈圖片的base64數(shù)據(jù)時(shí),可是使用img.onerror事件的處理,用缺省圖替換。

因?yàn)橛性诋?huà)總圖之前,有對(duì)多圖的分別處理,因此,使用Promise處理可能會(huì)更好一些。

在圖片導(dǎo)出的大小問(wèn)題上,導(dǎo)出時(shí)盡量使用

myCanvas.toDataURL('image/jpeg', encoderOptions)

encoderOptions:可以從0到1的區(qū)間內(nèi)選擇圖片的質(zhì)量。如果超出取值范圍,將會(huì)使用默認(rèn)值 0.92。其他參數(shù)會(huì)被忽略。

以上個(gè)人對(duì)canvas拼合多圖并導(dǎo)出圖片的經(jīng)驗(yàn)總結(jié)。 希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

標(biāo)簽:金昌 中山 阿壩 萍鄉(xiāng) 盤(pán)錦 綏化 赤峰 聊城

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《使用canvas對(duì)多圖片拼合并導(dǎo)出圖片的方法》,本文關(guān)鍵詞  使用,canvas,對(duì),多,圖片,拼,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《使用canvas對(duì)多圖片拼合并導(dǎo)出圖片的方法》相關(guān)的同類(lèi)信息!
  • 本頁(yè)收集關(guān)于使用canvas對(duì)多圖片拼合并導(dǎo)出圖片的方法的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    亚洲精品日韩综合观看成人91| 欧美在线免费播放| 免费在线观看一区| 亚洲综合免费观看高清完整版在线| 欧美国产禁国产网站cc| 久久久久久久久久久久电影| 精品国产乱子伦一区| 久久综合久久鬼色| 久久久精品国产99久久精品芒果| 久久在线免费观看| 国产亚洲一二三区| 亚洲欧洲99久久| 一区二区欧美在线观看| 亚洲福利视频一区二区| 蜜臀av亚洲一区中文字幕| 免费欧美在线视频| 懂色av一区二区在线播放| aaa亚洲精品一二三区| 日本高清不卡aⅴ免费网站| 欧美日韩成人一区二区| 日韩精品中文字幕一区| 国产精品视频一二三| 亚洲免费观看高清完整版在线观看 | 久久久国际精品| 中文字幕中文在线不卡住| 国产精品狼人久久影院观看方式| 一区二区三区四区中文字幕| 日韩精品五月天| 国产成人av资源| 欧洲日韩一区二区三区| 欧美成人精品福利| 亚洲欧洲综合另类在线| 免费亚洲电影在线| 成人爱爱电影网址| 3d成人h动漫网站入口| 日本一区二区久久| 日韩高清欧美激情| 91性感美女视频| 欧美va日韩va| 亚洲成人免费av| 成人av电影在线播放| 日韩欧美一区二区三区在线| 国产精品国产三级国产aⅴ入口| 性欧美大战久久久久久久久| 成人av网址在线观看| 日韩小视频在线观看专区| 亚洲欧美电影院| 精品亚洲国内自在自线福利| 欧美在线观看视频在线| 中文字幕不卡的av| 久久成人av少妇免费| 欧美日韩亚洲不卡| 综合色中文字幕| 国产精品亚洲一区二区三区妖精| 欧美在线免费视屏| 亚洲激情一二三区| 91浏览器打开| 国产精品入口麻豆九色| 国产一区二区0| 欧美成人一区二区三区在线观看 | 欧美日韩国产高清一区二区| 国产精品国产自产拍在线| 国产精品一级在线| 久久一日本道色综合| 蜜桃av噜噜一区二区三区小说| 91麻豆自制传媒国产之光| 欧美激情一区二区三区在线| 国产中文一区二区三区| 精品国产乱码久久久久久久久| 免费高清在线一区| 欧美二区三区91| 日韩激情在线观看| 这里是久久伊人| 亚洲国产成人porn| 欧美日韩五月天| 日韩一区精品视频| 欧美日韩视频专区在线播放| 亚洲精品乱码久久久久久日本蜜臀| 国产精品99久久久久久久女警| 日韩精品一区二| 国产真实乱对白精彩久久| 欧美成人一区二区三区在线观看| 九色porny丨国产精品| 久久精品一二三| www.综合网.com| 亚洲精品免费在线| 欧美精品丝袜中出| 久久69国产一区二区蜜臀| 2020国产精品自拍| 99久久综合99久久综合网站| 综合分类小说区另类春色亚洲小说欧美 | 国产精品国产三级国产aⅴ中文| 成人精品gif动图一区| 亚洲欧美视频一区| 欧美军同video69gay| 免费欧美日韩国产三级电影| 久久久精品2019中文字幕之3| 99re这里都是精品| 日本亚洲三级在线| 中文字幕第一区二区| 欧洲亚洲精品在线| 久久99国内精品| 亚洲欧美综合色| 91精品国产入口| 成人av电影免费在线播放| 亚洲一区二区三区爽爽爽爽爽| 日韩三级视频在线观看| 色综合久久综合中文综合网| 午夜视频在线观看一区二区| 国产喷白浆一区二区三区| 欧美日韩极品在线观看一区| 国产麻豆精品在线观看| 亚洲午夜免费福利视频| 日韩欧美一区二区免费| 91搞黄在线观看| 丰满少妇久久久久久久| 视频一区视频二区中文| 国产精品沙发午睡系列990531| 91麻豆精品国产自产在线| 国产999精品久久久久久| 日韩av不卡在线观看| 亚洲欧美日韩人成在线播放| 精品欧美一区二区久久| 欧美视频一区二区三区| 国产69精品一区二区亚洲孕妇| 亚洲一二三四在线观看| 国产精品女同一区二区三区| 日韩午夜三级在线| 欧美天堂一区二区三区| 一本到不卡精品视频在线观看| 国产一区二区三区av电影 | 久久先锋影音av鲁色资源网| 欧美视频中文一区二区三区在线观看| 国产福利一区二区| 蜜桃视频一区二区三区| 日本在线不卡视频| 亚洲成a人片在线观看中文| 亚洲精品五月天| 综合久久一区二区三区| 中文字幕二三区不卡| 国产精品美女一区二区三区| 欧美白人最猛性xxxxx69交| 欧美一区二区精品在线| 欧美色精品天天在线观看视频| 91网站在线播放| 91在线一区二区| av亚洲精华国产精华精| 国产成人在线视频网站| 国内欧美视频一区二区| 久久99精品网久久| 国产综合久久久久久鬼色| 国产乱码精品1区2区3区| 国产黄色精品视频| 成人av在线一区二区三区| eeuss国产一区二区三区| 99久久er热在这里只有精品15| 大桥未久av一区二区三区中文| 高清国产一区二区三区| 99re8在线精品视频免费播放| 成人免费看视频| 日本丶国产丶欧美色综合| 色视频一区二区| 欧美剧情片在线观看| 日韩一区和二区| 久久九九久久九九| 欧美国产日本韩| 亚洲免费观看高清完整版在线观看熊 | 国产精品免费视频观看| 亚洲激情图片qvod| 首页国产欧美久久| 国产成都精品91一区二区三| 福利一区二区在线观看| 91黄色激情网站| 日韩亚洲欧美中文三级| 中文成人av在线| 亚洲国产精品天堂| 国产揄拍国内精品对白| 91丨porny丨最新| 日韩限制级电影在线观看| 中文字幕精品一区二区精品绿巨人 | 欧美日韩在线电影| 久久众筹精品私拍模特| 亚洲国产高清在线| 午夜精彩视频在线观看不卡| 经典一区二区三区| 欧美在线观看一二区| 久久精品夜色噜噜亚洲aⅴ| 亚洲一区二区三区在线看| 国产在线看一区| 91福利区一区二区三区| 欧美精品一区二| 亚洲大型综合色站| 成人av资源站| 日韩欧美在线一区二区三区| 中文字幕日韩欧美一区二区三区| 欧美aⅴ一区二区三区视频| 9l国产精品久久久久麻豆| 久久久久久久久久久黄色| 日韩高清一区在线| 欧美综合色免费|