我试图找到一个在GTK 4.0中显示现有内存缓冲区中的图像的示例,其中图像以大小为 * 宽度x高度x 3* 的浮点数数组的形式存储。我知道我需要使用GtkImage,但我不知道如何将这样的数组传递给它。
只是为了说明上下文,我想实现一个原型来渲染一些图像,它们都是在内存中渲染的,因此,我有一个这样的浮点数数组,每个像素有三个浮点数。不幸的是,我找不到最新的GTK 4.0的任何示例。有很多从磁盘加载图像的示例,但对于我的情况来说,这似乎像是跳不必要的铁环。我曾经将这些作为OpenGL纹理加载,并在一个四轴上显示,但这也似乎像是用大锤钉钉子。
提前感谢您的任何帮助!
1条答案
按热度按时间hkmswyz61#
您可以对内存中的图像使用
GdkMemoryTexture
,使用GtkPicture
并使用gtk_picture_set_paintable()
设置纹理以对其进行绘制。以下是创建不透明的8位RGB图像并将其显示在屏幕上的示例:使用适合您数据的
GdkMemoryFormat
,或将其转换为受支持的GdkMemoryFormat
。