HarmonyOS 鸿蒙Next Image加载沙盒中图片,图片倍数怎么设置

发布于 1周前 作者 wuwangju 来自 鸿蒙OS

HarmonyOS 鸿蒙Next Image加载沙盒中图片,图片倍数怎么设置

Image通过fileUri.getUriFromPath(xxx)加载显示了沙盒中的图片。

同时并进行resizable的拉伸操作。

沙盒中的图片是2倍图,鸿蒙模拟器手机中看到图片比iOS小。

iOS:

cke_3082.png

鸿蒙:

cke_3952.png

有没有类似iOS中 UIImage.init(cgImage:, scale: 2, orientation: ) 这种scale设置scale的


更多关于HarmonyOS 鸿蒙Next Image加载沙盒中图片,图片倍数怎么设置的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html

4 回复

#你问我答#

Image组件不能直接传入应用沙箱路径,需要传入应用沙箱uri;拿到文件的沙箱路径后,通过调用@ohos.file.fileuri模块的fileuri.getUriFromPath(file.path)将沙箱路径转化为沙箱uri,传入之后即可正常显示。

参考链接

https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V13/ts-universal-attributes-transformation-V13#scale

更多关于HarmonyOS 鸿蒙Next Image加载沙盒中图片,图片倍数怎么设置的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


感谢回答。现在沙盒中的图片是已经是用uri读取并显示出来的了,只是图片倍数问题,导致显示的效果不达预期。细看上面的截图背景的圆角,他们是有差异的

在HarmonyOS鸿蒙系统中,Next Image组件加载沙盒中的图片时,图片倍数的设置主要通过图片资源本身的管理来实现,而非在Image组件中直接配置。具体操作如下:

  1. 资源准备:首先,确保在项目的resources目录下,按照不同倍数(如1x, 2x, 3x等)准备好相应的图片资源。这些资源应该按照命名规范进行组织,例如image@1x.png, image@2x.png等。

  2. 资源引用:在代码中,通过URI引用沙盒中的图片资源时,系统会自动根据设备的屏幕分辨率选择合适的倍数图片进行加载。例如,在高分辨率设备上,系统会选择@2x@3x的图片资源。

  3. 配置文件:无需在Image组件的XML或JS配置文件中显式设置图片倍数,系统会根据资源文件夹中的命名自动适配。

  4. 注意事项:确保所有需要的倍数图片都已正确放置在资源文件夹中,以避免在某些设备上图片显示不正确的问题。

如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html。

回到顶部