HarmonyOS gif对应的ArkUI_DrawableDescriptor怎么创建

HarmonyOS
2025-01-09 15:49:32
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
fox280
if (nodeAPI->createNode != nullptr && nodeAPI->addChild != nullptr) {

  ArkUI_NodeHandle imageNode = nodeAPI->createNode(ARKUI_NODE_IMAGE);
  uint8_t data[96];
  for (auto i = 0; i < 92; i++) {
    data[i] = uint8_t(0);
    data[i + 1] = uint8_t(0);
    data[i + 2] = uint8_t(0);
    data[i + 3] = uint8_t(255);
    i = i + 4;
  }
  OH_Pixelmap_InitializationOptions *options = nullptr;
  OH_PixelmapInitializationOptions_Create(&options);
  OH_PixelmapInitializationOptions_SetWidth(options, 4);
  OH_PixelmapInitializationOptions_SetHeight(options, 6);
  OH_PixelmapInitializationOptions_SetPixelFormat(options, 4);
  OH_PixelmapInitializationOptions_SetAlphaType(options, 0);

  OH_PixelmapNative *g_PixelMap = nullptr;
  OH_PixelmapNative_CreatePixelmap(data, 96, options, &g_PixelMap);
  ArkUI_DrawableDescriptor *drawable = nullptr;
  drawable = OH_ArkUI_DrawableDescriptor_CreateFromPixelMap(g_PixelMap);
  ArkUI_AttributeItem img_src_item = {.object = drawable};
  nodeAPI->setAttribute(imageNode, NODE_IMAGE_SRC, &img_src_item);
  ArkUI_NumberValue value[1] = {{.f32 = 300}};
ArkUI_AttributeItem item = {value, 1};
nodeAPI->setAttribute(imageNode, NODE_HEIGHT, &item);
nodeAPI->setAttribute(imageNode, NODE_WIDTH, &item);
OH_NativeXComponent_AttachNativeRootNode(component, imageNode);
}
分享
微博
QQ
微信
回复
2025-01-09 19:15:45
相关问题
HarmonyOS 创建ArkUi-X项目报错
637浏览 • 1回复 待解决
VectorElement怎么定义对应xml
9076浏览 • 2回复 待解决
如何渲染gif类型文件
7298浏览 • 1回复 待解决
ArkUI如何通过代码动态创建组件
2921浏览 • 1回复 待解决
HarmonyOS如何实现gif图片控制
530浏览 • 1回复 待解决
HarmonyOS json怎么动态获取键值对应
264浏览 • 1回复 待解决
harmonyOS 蓝牙怎么创建
6044浏览 • 1回复 待解决
arkui怎么展示接口返回富文本?
3226浏览 • 1回复 待解决
HarmonyOS 全局样式怎么创建
653浏览 • 1回复 待解决
HarmonyOS Image显示GIF图片时控制
502浏览 • 1回复 待解决
HarmonyOS 关于GIF图片播放功能咨询
302浏览 • 1回复 待解决
ArkUI(ets)怎么实现右边框?
3833浏览 • 1回复 待解决