バイナリ文字列からキャンバスに画像を描画しようとしています。
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を使用したくありません。私の要件は、完全な画像を表示し、その上に線を引くことです。