C 为Evas图像对象设置像素阵列数据

C 为Evas图像对象设置像素阵列数据,c,image,efl,C,Image,Efl,这个问题是关于evas\u object\u image\u data\u set函数的使用。比如,我有一些RGBA格式的像素数组。我将其转换为ARGB,适合Evas Image Object。接下来我用elm\u win\u add创建一个窗口,然后我用Evas\u Object\u Image\u add(Evas\u Object\u Evas\u get(window))创建图像对象,然后调用Evas\u Object\u Image\u fill\u set,然后evas\u obje

这个问题是关于
evas\u object\u image\u data\u set
函数的使用。
比如,我有一些RGBA格式的像素数组。我将其转换为ARGB,适合Evas Image Object。
接下来我用elm\u win\u add创建一个窗口

,然后我用
Evas\u Object\u Image\u add(Evas\u Object\u Evas\u get(window))
创建图像对象,然后调用
Evas\u Object\u Image\u fill\u set
,然后
evas\u object\u image\u size\u set

然后我调用
evas\u object\u image\u data\u set
,最后我调用
evas\u object\u image\u data\u update\u add,为我的图像添加合适的区域。
完成所有这些之后,我只看到了黑框。我做错什么了吗

注意:使用efl版本1.7.7

  • 按照问题中的说明设置图像对象
  • 使用
    evas\u object\u image\u data\u Get
    获取指向原始图像数据的空指针,并在用于写入的参数
    中使用
    EINA\u TRUE
  • 根据需要修改数据
  • 使用void指针作为参数调用
    evas\u object\u image\u data\u set

  • 是的,行得通。但问题是,我将evas图像对象打包到elm_box对象中,图像变得不可见。不知道为什么。