2
對HTML 5畫布添加圖像繪製我想畫到畫布上從二進制字符串的圖像。質量損失,同時從二進制字符串
var reader = new FileReader();
//reader.readAsDataURL(file);
reader.readAsBinaryString(file);
reader.onload = function(event){
var d = $(thisObj.CreateIndoorFormDivControlName).dialog();
var canvas =document.getElementById('canvasfloorLayout');
var cxt=canvas.getContext("2d");
var img=new Image();
img.onload = function() {
cxt.drawImage(img, 0, 0,canvas.width,canvas.height);
}
img.src = "data:image/jpeg;base64,"+window.btoa(reader.result);
我使用上面的代碼,但問題是圖像尺寸越來越縮小到畫布尺寸和質量下降像任何東西。我已經嘗試過
cxt.drawImage(img, 0, 0,img.width,img.height);
但是圖像被剪裁。 我不想使用reader.readAsDataURL,因爲我需要將二進制文件發佈到服務器。我的要求是顯示完整的圖像並在其上畫線。
感謝。像魅力一樣工作! – Abhik 2013-03-11 09:35:08
是的,但如果圖像太大會發生什麼?取自iPad ... – 2013-07-30 23:05:00
@MehdiKaramosly然後創建一個「盒子」或「相機」對象,您將設置您的首選寬度。有幫助函數可以讓你獲得當前的屏幕尺寸,或者畫布父母的當前像素尺寸,或者任何你想要匹配尺寸的DOM元素。從那裏,獲得寬度和高度圖像,畫布和屏幕/ DOM元素,然後決定要使用哪一個。在他們之間翻譯是簡單的代數。但是如果你擴大規模,你會失去質量。特別是在非2因子比率下。 – Norguard 2013-08-04 22:33:25