我试图获取本地图像的高度以在React-Native上缩放它。我尝试了以下代码,但我收到Failed to get size for image: ../../images/body.png
错误。
scaleImg(h) {
Image.getSize('../../images/body.png', (width, height) => {
const scaleFactor = height / h
const imageWidth = width / scaleFactor
this.setState({imgWidth: imageWidth, imgHeight: h})
})
}
答案 0 :(得分:1)
根据documentation,您无法在静态图片资源上使用Image.getSize
,这是您的路径似乎链接到的。
static getSize(uri:string,success:function,failure?:function): 检索之前图像的宽度和高度(以像素为单位) 显示它。如果无法找到图像,此方法可能会失败,或 无法下载。
为了检索图像尺寸,图像可能首先需要 加载或下载,之后将被缓存。这意味着 但是,原则上你可以使用这种方法来预加载图像 它没有针对该目的进行优化,并且可能在将来实施 以不完全加载/下载图像数据的方式。正确的, 支持的预加载图像的方式将作为单独的API提供。
不适用于静态图片资源。
答案 1 :(得分:0)
我迟到了,但仍然没有答案。对于本地资产,您必须改用 Image.resolveAssetSource(require('./path'));
。