我正在尝试将二进制字符串中的图像绘制到画布上。
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,因为我需要将二进制文件发布到服务器。我的要求是显示完整的图像并在其上画线。