Javascript 打开图片时,如何读取图片的尺寸?

Javascript 打开图片时,如何读取图片的尺寸?,javascript,Javascript,我正在制作一个可以在图片上应用过滤器的应用程序。我将画布设置为800*500,因此当我上传更大的图像时,图像会被裁剪 如何在上载图像时读取维度,然后在将图像复制到画布之前设置画布维度?这可能会有所帮助 *uploading code* var img = document.createElement("img"); img.onload = ()=>{var height=this.height; var width=this

我正在制作一个可以在图片上应用过滤器的应用程序。我将画布设置为800*500,因此当我上传更大的图像时,图像会被裁剪

如何在上载图像时读取维度,然后在将图像复制到画布之前设置画布维度?

这可能会有所帮助

*uploading code*  
    var img = document.createElement("img");
    img.onload = ()=>{var height=this.height;
                      var width=this.width;  };

将这些值设置为画布维度

,正如您所说的,您正在使用该方法

function el(id) 
{ 
   return document.getElementById(id); // Get elem by ID 
} 

el("fileUpload").addEventListener("change", readImage, false);
您可以将其编辑为:

function el(id) 
{ 
       var element = document.getElementById(id); // Get elem by ID 
       element.height=this.height;
       element.width=this.width;
       return element;
} 
el("fileUpload").addEventListener("change", readImage, false);
在javascript中,该关键字指的是全局对象

默认情况下,执行的执行上下文是全局的,这意味着如果代码作为简单函数调用的一部分执行,那么“this”指的是全局对象

这意味着调用End/triggered方法的元素的值将存储在此关键字中,您要查找的属性是height和width..:

从jQuery 1.2.6+开始,您也可以在这里包含jQuery。您可以使用一个核心CSS函数,高度和宽度,或者视情况而定,也可以使用outerHeight和outerWidth

var height = $("#element").height();
var width = $("#element").width();

p、 我在代码readImage中看到的是事件处理程序,我看不到它在任何地方被调用。

img.addEventListenerload,函数{canvas.height=img.height;canvas.width=img.width;context.drawingeimg,0,0;};这是我的第一个问题,我正试图弄清楚它到底是如何运作的。我投了两张反对票,但我不明白为什么。顺便说一句,我试图在调用readImage之前发布我的全部代码,但由于太长而被阻止。下一个问题我会更精确。非常感谢你的回答,这非常有帮助。@I.Vacca如果它对你有帮助,请接受它作为回答/投票,谢谢我做了,谢谢,但作为一个新的贡献者,我的投票没有显示。顺便说一句,它是计算在内的。