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

bin*_*tch 16 image static-files react-native

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

因此,是否可以在静态文件上使用Image.getSize或者我必须找到另一种方法?

小智 29

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

import resolveAssetSource from 'resolveAssetSource';
Run Code Online (Sandbox Code Playgroud)

let icon =  require('./assets/images/icon.png'); 
let source = resolveAssetSource(icon);
// source.width, source.height`
Run Code Online (Sandbox Code Playgroud)

  • 从'react-native/Libraries/Image/resolveAssetSource'成功使用`import resolveAssetSource';` (4认同)

小智 6

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

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


dua*_*uan 6

通过官方文件

import { Image } from 'react-native'

const url = require('./x.png')
const image = Image.resolveAssetSource(url)
Run Code Online (Sandbox Code Playgroud)

然后使用image.widthimage.height