js實現(xiàn)canvas圖片與img圖片的相互轉(zhuǎn)換的示例
最近在一個項目中,遇到了一個問題,需要把生成的canvas形式的二維碼轉(zhuǎn)換為圖片,可以長按識別,保存等。查找了一些資料歸納總結(jié)了一些知識。
默認(rèn)在jq庫里進(jìn)行,引入jquery.qrcode.min.js庫,將canvas圖片轉(zhuǎn)化為img圖片,代碼如下,
<body>
<div id="cans"></div>
<div id="img"></div>
</body>
<script>
//生成canvas形式的二維碼
$("#cans").qrcode({
width:150,
height:150,
text:'http://www.cnblogs.com/dxzg/p/6424855.html'//需要生成的內(nèi)容
});
//從 canvas 提取圖片 image
function convertCanvasToImage(canvas) {
//新Image對象,可以理解為DOM
var image = new Image();
// canvas.toDataURL 返回的是一串Base64編碼的URL
// 指定格式 PNG
image.src = canvas.toDataURL("image/png");
return image;
}
//獲取網(wǎng)頁中的canvas對象
var mycans=$('canvas')[0];
//調(diào)用convertCanvasToImage函數(shù)將canvas轉(zhuǎn)化為img形式
var img=convertCanvasToImage(mycans);
//將img插入容器
$('#img').append(img);
</script>
同理也可以將圖片轉(zhuǎn)換為canvas,轉(zhuǎn)換函數(shù)如下:
// 把image 轉(zhuǎn)換為 canvas對象
function convertImageToCanvas(image) {
// 創(chuàng)建canvas DOM元素,并設(shè)置其寬高和圖片一樣
var canvas = document.createElement("canvas");
canvas.width = image.width;
canvas.height = image.height;
// 坐標(biāo)(0,0) 表示從此處開始繪制,相當(dāng)于偏移。
canvas.getContext("2d").drawImage(image, 0, 0);
return canvas;
}
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- js canvas實現(xiàn)5張圖片合成一張圖片
- js canvas實現(xiàn)二維碼和圖片合成的海報
- JavaScript+Canvas實現(xiàn)彩色圖片轉(zhuǎn)換成黑白圖片的方法分析
- JS和Canvas實現(xiàn)圖片的預(yù)覽壓縮和上傳功能
- js HTML5 canvas繪制圖片的方法
- JS HTML圖片顯示Canvas 壓縮功能
- js canvas實現(xiàn)放大鏡查看圖片功能
- js+html5繪制圖片到canvas的方法
- javascript結(jié)合canvas實現(xiàn)圖片旋轉(zhuǎn)效果
- 使用JavaScript+canvas實現(xiàn)圖片裁剪
- js+canvas實現(xiàn)兩張圖片合并成一張圖片的方法
相關(guān)文章
js 實現(xiàn)在離開頁面時提醒未保存的信息(減少用戶重復(fù)操作)
在離開頁面時判斷是否有未保存的輸入值,然后進(jìn)行提醒,接下來介紹實現(xiàn)步驟,感興趣的朋友可以了解下2013-01-01
為什么JS中eval處理JSON數(shù)據(jù)要加括號
這篇文章主要介紹了為什么JS中eval處理JSON數(shù)據(jù)要加括號的相關(guān)資料,需要的朋友可以參考下2015-04-04
javascript實現(xiàn)鼠標(biāo)拖動改變層大小的方法
這篇文章主要介紹了javascript實現(xiàn)鼠標(biāo)拖動改變層大小的方法,涉及javascript操作鼠標(biāo)事件及樣式的相關(guān)技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-04-04
JavaScript實現(xiàn)網(wǎng)頁跨年倒計時
這篇文章主要為大家詳細(xì)介紹了JavaScript實現(xiàn)網(wǎng)頁跨年倒計時,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2020-12-12

