我需要進行圖片上傳。在上傳圖片之前,我從文件輸入中獲取圖片,使用畫布調整圖片的大小,然後將結果保存爲DOM中的圖片元素。 如何將我的圖像對象轉換爲文件對象,以便我可以使用ajax上傳它?使用Ajax上傳DOM圖像 - 將圖像轉換爲文件?
編輯:
這裏是我做的:
$.fitIn = function(size, bbox) {
var r = size.w/size.h;
if(r > bbox.w/bbox.h) {
var newW = bbox.w,
newH = newW/r;
} else {
var newH = bbox.h,
newW = newH * r;
}
return { w: newW, h: newH };
};
$.resizeImage = function(image, newW, newH, outputFormat) {
if(null == outputFormat) {
var temp = image.src.split('.');
outputFormat = temp[temp.length - 1];
}
var canvas = document.createElement('canvas');
canvas.width = newW;
canvas.height = newH;
var context = canvas.getContext('2d');
context.drawImage(image, 0, 0, newW, newH);
var newImage = document.createElement('img');
newImage.src = canvas.toDataURL('image/' + outputFormat);
return newImage;
};
$.createThumb = function(image) {
var newSize = $.fitIn(
{ w: image.width, h: image.height },
{ w: THUMB_W, h: THUMB_H }
);
return $.resizeImage(image, newSize.w, newSize.h, THUMB_FORMAT);
};
然後:
var originalImage = document.getElementById('testImage');
var newImage = lwf.resizeImage(originalImage, 480, 270);
($不是jQuery的)
感謝您的幫助:)
告訴我們你做了什麼? –
編輯我的帖子我的帖子與代碼:) – Virus721