React Native获取Base64图片的尺寸

4

I have the following code:

let imgSrc =resolveAssetSource("data:image/png;base64,"+img); 
console.log(imgSrc);
let img = <Image source={{uri:"data:image/png;base64,"+img}} style={{width:imgSrc.width/2, height:imgSrc.height/2}} />;

但是代码会崩溃,因为imgSrc为空。我如何获取base64编码图像的宽度和高度,以便在<Image style={} />元素中使用?


你试过给宽度和高度设置百分比吗?例如: { width: '50%', height: '50%'} 我不确定这是否有效。 - bennygenel
@bennygenel 谢谢Benny,但我真正想要的是实际图像尺寸,以便我可以通过更多计算来影响站点上的其他组件。因此,掌握实际尺寸是我需要的。 - John
你可以创建一个透明度为0的虚拟图像,并使用onLayout属性获取组件的测量值,然后使用这些值将自定义值应用于视觉图像组件。 - bennygenel
@kuhr 不,我没有。我最终采用了一种解决方法,使用单独的后端/服务器脚本提前通知我图像的尺寸。 - John
2
@John 是的先生: 让 uri =“data:image/png;base64,”+ image; Image.getSize(uri,(width,height)=> {...}); - kuhr
显示剩余3条评论
1个回答

4

以下的方法可以帮助我获取尺寸。

import { Image } from 'react-native';

Image.getSize(`data:image/png;base64,${img}`, (width, height) => {console.log(width, height)});

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接