无法获得本地图片的大小

时间:2017-07-21 13:48:16

标签: react-native

我试图获取本地图像的高度以在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})
    })
 }

2 个答案:

答案 0 :(得分:1)

根据documentation,您无法在静态图片资源上使用Image.getSize,这是您的路径似乎链接到的。

  

static getSize(uri:string,success:function,failure?:function):   检索之前图像的宽度和高度(以像素为单位)   显示它。如果无法找到图像,此方法可能会失败,或   无法下载。

     

为了检索图像尺寸,图像可能首先需要   加载或下载,之后将被缓存。这意味着   但是,原则上你可以使用这种方法来预加载图像   它没有针对该目的进行优化,并且可能在将来实施   以不完全加载/下载图像数据的方式。正确的,   支持的预加载图像的方式将作为单独的API提供。

     

不适用于静态图片资源。

答案 1 :(得分:0)

我迟到了,但仍然没有答案。对于本地资产,您必须改用 Image.resolveAssetSource(require('./path'));