【发布时间】:2015-01-20 23:23:30
【问题描述】:
我使用下面的代码在画布内绘制和缩放图像。问题是内部渲染的图像被拉伸以适应。
如果可能的话,我希望它根据宽度进行缩放,但要保持其纵横比。
有什么想法吗?
//IMAGE LOADER
var canvas = document.getElementById('image-canvas');
var canvas2 = document.getElementById('image-canvas2');
ctx = canvas.getContext('2d');
ctx2 = canvas2.getContext('2d');
// Trigger the imageLoader function when a file has been selected
var fileInput = document.getElementById('fileInput');
fileInput.addEventListener('change', imageLoader, false);
function imageLoader() {
var reader = new FileReader();
reader.onload = function(event) {
img = new Image();
img.onload = function(){
ctx.drawImage(img,0,0,canvas.width, canvas.height);
ctx2.drawImage(img,0,0,canvas.width, canvas.height);
}
img.src = reader.result;
}
reader.readAsDataURL(fileInput.files[0]);
}
【问题讨论】:
-
你知道正确的比例是什么吗?您可以在绘图时应用正确的比例。如果你不知道,你可以在 DOM 上渲染它并查询图像的宽度/高度
标签: javascript html canvas