Javascript 打开图片时,如何读取图片的尺寸?
我正在制作一个可以在图片上应用过滤器的应用程序。我将画布设置为800*500,因此当我上传更大的图像时,图像会被裁剪 如何在上载图像时读取维度,然后在将图像复制到画布之前设置画布维度?这可能会有所帮助Javascript 打开图片时,如何读取图片的尺寸?,javascript,Javascript,我正在制作一个可以在图片上应用过滤器的应用程序。我将画布设置为800*500,因此当我上传更大的图像时,图像会被裁剪 如何在上载图像时读取维度,然后在将图像复制到画布之前设置画布维度?这可能会有所帮助 *uploading code* var img = document.createElement("img"); img.onload = ()=>{var height=this.height; var width=this
*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如果它对你有帮助,请接受它作为回答/投票,谢谢我做了,谢谢,但作为一个新的贡献者,我的投票没有显示。顺便说一句,它是计算在内的。