是否可以将 Image.getSize 与静态图像文件一起使用?

Is it possible to using Image.getSize with static image file?

我想使用 Image.getSize (https://facebook.github.io/react-native/docs/image.html) 来获取图像的大小,但第一个参数要求图像源位于 URI 中,但我不能将 URI 用于静态文件, 我只能用 Require.

因此,是否可以在静态文件上使用 Image.getSize 还是我必须找到其他方法?

您可以使用 resolveAssetSource(来自 react-native/Libraries/Image/resolveAssetSource)获取图像的大小。

import resolveAssetSource from 'resolveAssetSource';

let icon =  require('./assets/images/icon.png'); 
let source = resolveAssetSource(icon);
// source.width, source.height`

您可以使用 Image.resolveAssetSource(source).widthImage.resolveAssetSource(source).height

React Native 文档中的参考:https://facebook.github.io/react-native/docs/image.html#resolveassetsource

通过official document

import { Image } from 'react-native'

const url = require('./x.png')
const image = Image.resolveAssetSource(url)

然后使用image.widthimage.height

let path = "file:///storage/emulated/0/Pictures/xxx.jpg";
Image.getSize(path,(w,h)=>{
        console.log('w h=',w,h);
    },(err)=>{
        console.log('err....',err);
    })