首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >获取输入图像的尺寸Javascript

获取输入图像的尺寸Javascript
EN

Stack Overflow用户
提问于 2020-03-27 14:18:07
回答 1查看 31关注 0票数 0

为了上传图片,同时防止它占用太多空间,我写了这段代码。不幸的是,这将导致图像失真。是否可以取输入图像的宽度和高度,然后将其除以10,以便缩小图像,同时防止其变形。然后“发布”它。

HTML:

代码语言:javascript
复制
    <button  id="publish-button" onclick="publish();">Publish</button>
    <p>Images</p>
    <input id="image-file" type="file"/>
    <ul id="posts"></ul>

Javascript:

代码语言:javascript
复制
var image = document.getElementById("posts");
var image = document.createElement("img");
var imageInput = document.getElementById('image-file');
image.src = URL.createObjectURL(imageInput.files[0]);
image.style.height =  100;
image.style.width =  100;
para.appendChild(image);
EN

回答 1

Stack Overflow用户

发布于 2020-03-27 14:37:26

您可以在这里使用一个小类,并在类中将width设置为auto,将max-height设置为100px,以便缩小图像并保持纵横比不变。

代码语言:javascript
复制
function publish(e) {
  var image = document.getElementById('img');
  image.src = URL.createObjectURL(e.target.files[0]);

  image.className = "img";
  
  image.onload = function() {
    URL.revokeObjectURL(image.src)
  }
};
代码语言:javascript
复制
.img {
  width: auto;
  height: 100%;
  max-height: 100px;
}
代码语言:javascript
复制
<input id="image-file" type="file" accept="image/*" onchange="publish(event)" /><br/>
<img id="img" />

此外,如果您将动态图像放在<p>标记内,那么您甚至不需要在js代码中添加类,您只需修改css,如下所示:

代码语言:javascript
复制
p img {
  width: auto;
  height: 100%;
  max-height: 100px;
}

它会将css添加到<p>标记内的所有图像中,包括当前和将来的元素。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60880861

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档