我有一个Vue组件,在它里面我有一个img,我需要得到图像尺寸,最好是在显示图像之前(通过宽度或高度来适应容器)。
this.img = new Image();
this.img.src = this.payload.src;
this.img.onload = () => {
let width = this.img.naturalWidth;
let height = this.img.naturalHeight;
}
该代码可能无法工作,映像src可以返回401(还不确定),我们使用代理并从服务器上的存储桶中获取该文件。比如/api/getStorageResource?斑点=
我能做什么呢?
有了链接,我可以通过axios获取图像并将其设置为元素,而不是
作为一个选项,我看到我可能拥有现在的元素
您可以使用async/wait和在try/cat块中获取api的组合来从您的服务器获取图像URL,然后您可以继续创建
在下面的示例代码段中,我添加了一个按钮,该按钮将在单击时将图像添加到容器中,这样您就可以在DOM上呈现图像之前看到容器如何具有检索到的图像维度:
const imgDiv = document.querySelector('#imgDiv');
const btn = document.querySelector('#imgBtn');
//The fetchImg function will fetch the image URL from the server and log error to console if file not found
const fetchImg = async () => {
try {
// replace the following example url with "this.payload.src"
const imgURL = await fetch('https://picsum.photos/id/237/200/200');
return imgURL;
} catch (err) {
// do something here if image not found
console.log('Image not found!');
}
}
fetchImg().then((res) => {
// create a new image element with the URL as the src
const img = new Image();
img.src = res.url; // change ".url" according to how the data you get from your server is structured
// assign the retrieved width and height of img to container
img.addEventListener('load', () => {
imgDiv.style.width = img.naturalWidth + 'px';
imgDiv.style.height = img.naturalHeight + 'px';
});
btn.addEventListener('click', () => imgDiv.appendChild(img));
});
html, body {margin: 0;padding: 10px;width: 100%; height: 100%;text-align: center;}
#imgDiv {background-color: #222;margin: 0 auto;}
<button id="imgBtn">Add Image</button>
<div id="imgDiv"></div>
我有一个base64 img编码,你可以在这里找到。我怎样才能得到它的高度和宽度?
问题内容: 是否可以在node.js中获取图像的宽度和高度(在服务器端,而不是客户端)?我需要在我正在编写的node.js库中找到图像的宽度和高度。 问题答案: 是的,这是可能的,但是您需要安装GraphicsMagick或ImageMagick。 我都用过,我可以推荐GraphicsMagick,它要快得多。 一旦安装了程序及其模块,就可以执行以下操作来获取宽度和高度。
问题内容: 为什么下面的代码返回高度:-1,这意味着高度未知。如何获得图像的高度? 问题答案: 使用ImageIO.read(URL)或ImageIO.read(File)代替。加载时它将阻塞,返回后将知道图像的宽度和高度。 例如 或者,MediaTracker向由异步加载的映像中添加A ,Toolkit然后等待其完全加载。
问题内容: 我尝试使用PHP函数getimagesize,但无法将图像的宽度和高度提取为整数值。 我该如何实现? 问题答案: 尝试这样: 确保: 您在此处指定正确的图像路径 图像具有读取权限 chmod图像目录到755 此外,请尝试在路径前面加上前缀,这有时在您无法读取文件时会有所帮助。
问题内容: 除了使用ImageIO.read来获取图像的高度和宽度外,还有其他方法吗? 因为我遇到了锁定线程的问题。 此错误仅在Sun应用服务器上发生,因此我怀疑这是Sun错误。 问题答案: 这很简单方便。
如何在jQuery中获取图像的高度和宽度,如果我使用img与类"img响应",并且没有给出任何高度,宽度,最大高度,最大宽度等。 我不希望图像的真实高度和宽度,我们可以从getHeight和getWidth获得,但我想要确切的高度和宽度,我可以在移动浏览器中看到,我看到小高度和宽度,在台式机或笔记本电脑中看到更大的高度和宽度宽度。 这是桌面视图 这是移动视图 我想知道我的屏幕有多少像素被那个图像覆