16
可能重複:
Get image data in Javascript?
How to encode image data within an HTML file?將圖像轉換成二進制數據在JavaScript
有什麼辦法,以將圖像轉換爲JavaScript和反之亦然的二進制數據。
可能重複:
Get image data in Javascript?
How to encode image data within an HTML file?將圖像轉換成二進制數據在JavaScript
有什麼辦法,以將圖像轉換爲JavaScript和反之亦然的二進制數據。
我覺得Get image data in JavaScript?回答你的問題:
// Code taken from MatthewCrumley (https://stackoverflow.com/a/934925/298479)
function getBase64Image(img) {
// Create an empty canvas element
var canvas = document.createElement("canvas");
canvas.width = img.width;
canvas.height = img.height;
// Copy the image contents to the canvas
var ctx = canvas.getContext("2d");
ctx.drawImage(img, 0, 0);
// Get the data-URL formatted image
// Firefox supports PNG and JPEG. You could check img.src to guess the
// original format, but be aware the using "image/jpg" will re-encode the image.
var dataURL = canvas.toDataURL("image/png");
return dataURL.replace(/^data:image\/(png|jpg);base64,/, "");
}
傳遞img
標籤此功能。它將以base64編碼返回圖像。它將被重新編碼。所以你不能訪問原始圖像數據。
打敗了我,但我也是這麼做的。 +1 – Hacknightly 2011-03-24 14:07:54
我把它變成了一個小書籤在這裏:http://jsfiddle.net/bgmort/m26yr/ 你打開你想要的圖像在它自己的標籤中,然後運行它,並在屏幕上用數據插入一個textarea網址。 – undefined 2013-03-07 23:21:48
除了「dataURL.replace」,你可以做「dataURL.split(',')[1]」,它也可以用於「png」或「jpg」之外的其他格式。 :) – 2014-02-04 14:11:19