JS Canvas與Image互相轉換
原文示範: JavaScript Canvas Image Conversion Demo
在上週的Mozilla Web開發 會議,最後我們花了大半天的時間討論未來的Mozilla市場應用。 Instagram是近期最熱門的行動應用程式,以10億美元的天價賣給了FaceBook。
我不介意賺取一些外快,所以我決定創建一個Instagram樣式的應用(以後將會分享出來)
本文向您展示怎樣轉換Image為canvas,以及canvas如何提取出一個Image 。
轉換Image為Canvas
要把圖片轉換為Canvas(畫板,畫布),可以使用canvas元素context 的drawImage方法:
// 把image 轉換成canvas物件
funcCantion convertImageTovas(image) >// 建立canvas DOM元素,並設定其寬高和圖片一樣
var canvas = document.createElement("canvas");
canvas.width = image.width;
canvas.height = image .height;
// 座標(0,0) 表示從此處開始繪製,相當於偏移。
canvas.getContext("2d").drawImage(image, 0, 0);
return canvas;
}
在canvas上處理好,那麼可以使用以下方法,把canvas轉變為圖片Image物件。
//im canvas 擷取圖片>function convertCanvasToImage(canvas) {
//新Image對象,可以理解為DOM
var image = new Image();
// canvas.toDataURL 返回的是一串Base64編碼的URL,當然,瀏覽器自己肯定支援
// 指定格式PNG
image.src = canvas.toDataURL("image/png");
return image;
}
額!圖像image和canvas的互相轉換比你想像的還要容易,以後我將向你演示不同的圖像處理技術,相信在未來你肯定能用這些技術賺到大錢。