HarmonyOS ArkUI C API如何给IMAGE组件设置位图图像

ArkUI C API如何给IMAGE组件设置位图图像

HarmonyOS
2024-12-20 17:03:34
浏览
收藏 0
回答 1
回答 1
按赞同
/
按时间
Excelsior_abit

参考demo:

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);
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
分享
微博
QQ
微信
回复
2024-12-20 18:53:09
相关问题
HarmonyOS image 组件位图
1217浏览 • 1回复 待解决
HarmonyOS 如何image设置遮罩 ?
1139浏览 • 1回复 待解决
HarmonyOS如何使用Image位图
1075浏览 • 1回复 待解决
HarmonyOS ArkUI C-API有文档吗?
1232浏览 • 1回复 待解决
如何Image组件动态更改图片?
1418浏览 • 1回复 待解决
HarmonyOS api10如何子窗口设置圆角
1172浏览 • 1回复 待解决
HarmonyOS Image组件如何设置填充颜色
953浏览 • 1回复 待解决
Image组件如何设置默认图?
1811浏览 • 1回复 待解决
ArkUI C 如何使用ArkUI_StyledString
925浏览 • 1回复 待解决
HarmonyOS Image Kit 网络图像的加载
1088浏览 • 1回复 待解决
怎么组件设置下边框?
7618浏览 • 1回复 待解决
ArkUI如何设置组件的悬停状态?
2436浏览 • 1回复 待解决