HarmonyOS PixelMap支持gif动图么

加载网络图片到时候,我自己去请求下载图片后,解码为PixelMap去设置image组件,但是如果图片本身gif动图,PixelMap不支持的吗?我本地验证了动图解码PixelMap后动图效果丢失了

HarmonyOS
6天前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
fox280

1)https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/ts-basic-components-image-V5

可以使用image组件,参数传入资源地址来实现功能;

2)https://gitee.com/openharmony/arkui_ace_engine

为了更高效的加载,Image模块提供了三级Cache机制,在加载图片时会逐级查找,如果在cache中找到之前加载过的图片则提前返回对应的结果。cache查找流程:

imageCache模块的实现中将主要的cache LRU算法实现在imageCache类中,而实际的cache的数据(flutter和skia中的相关数据类型)实例放在flutterImageCache中,将逻辑、接口和数据实现分离,便于将来适配底层数据的变化(见flutter_image_cache.h)。

imageCache的LRU算法逻辑可复用性强,在不同层级的cache中区别仅是数据类型的不同,实现中将此处使用模板函数实现主要逻辑,减少冗余代码(见image_cache.h和image_cache.cpp)

图片的数据源,支持本地图片和网络图片,引用方式请参考加载图片资源。

  1. PixelMap格式为像素图,常用于图片编辑的场景。

  2. ResourceStr包含Resource和string格式。

string格式可用于加载网络图片和本地图片,常用于加载网络图片。当使用相对路径引用本地图片时,例如Image("common/test.jpg"),不支持跨包/跨模块调用该Image组件,建议使用Resource格式来管理需全局使用的图片资源。

  • 支持Base64字符串。格式data:image/[png|jpeg|bmp|webp];base64,[base64 data], 其中[base64 data]为Base64字符串数据。

  • 支持file://路径前缀的字符串,应用沙箱URI:file://<bundleName>/<sandboxPath>。用于读取本应用安装目录下files文件夹下的图片资源。需要保证目录包路径下的文件有可读权限。

Resource格式可以跨包/跨模块访问资源文件,是访问本地图片的推荐方式。

  1. 当传入资源id或name为普通图片时,生成DrawableDescriptor对象。

说明:

  • ArkTS卡片上支持gif图片格式动效,但仅在显示时播放一次。

  • ArkTS卡片上不支持http://等网络相关路径前缀和file://路径前缀的字符串。

  • ArkTS卡片上不支持 PixelMap类型。

  • 网络图片必须支持RFC 9113标准,否则会导致加载失败。

分享
微博
QQ
微信
回复
6天前
相关问题
HarmonyOS 项目支持gif吗?
466浏览 • 1回复 待解决
除了GIF,是否还支持其他格式
2154浏览 • 1回复 待解决
现在是否支持Webp
2372浏览 • 1回复 待解决
HarmonyOS Imageknife 展示异常
406浏览 • 1回复 待解决
HarmonyOS gif如何取第一帧
75浏览 • 1回复 待解决
HarmonyOS 加载.json格式的资源
532浏览 • 1回复 待解决
如何实现一个GIF显示指定次数
2154浏览 • 1回复 待解决
HarmonyOS 有趋势的实现方法
297浏览 • 1回复 待解决
HarmonyOS 支持gif设置颜色吗
132浏览 • 1回复 待解决
HarmonyOS 如何支持.9
69浏览 • 1回复 待解决
HarmonyOS list的item支持效果吗?
300浏览 • 1回复 待解决
HarmonyOS ArkTS是否支持.9
106浏览 • 1回复 待解决
HarmonyOS 支持使用.9吗?
483浏览 • 1回复 待解决