我有一个带有灰度图像的整数数组,我需要在我的应用程序中显示它。我正在使用 gtkmm 在 C++ 中编程,但我找不到任何像画布这样的小部件,可以让您显示和访问图像中的每个像素。
user217752
问问题
1328 次
2 回答
0
据我了解,您需要将以下类与构造函数一起使用:
Gdk::Bitmap::Bitmap(const char *data, int width, int height)
创建位图并将数据加载到其中。
以后可以使用 Gdk::Pixmap 或 Gdk::Window 进行绘制。还有 Pixbuf 类来存储像素。
于 2009-11-24T13:53:45.033 回答
0
我也在努力寻找解决方案。到目前为止,我发现的唯一方法(使用 gtkmm-3.0)是将灰度图像逐个像素地转换为 RGB。
您分配的另一个数据缓冲区是原始缓冲区的三倍。然后将每个像素从原始像素复制到副本,重复三次。要创建 1280*1024(我的情况)pixbuf,您可以调用:
Gdk::Pixbuf::create_from_data(copy, Gdk::COLORSPACE_RGB, false, 8, 1280, 1024, 1280*3);
要访问位图中的像素,我想您可以使用Gdk::Pixbuf::get_pixels()
.
于 2012-04-15T07:13:35.593 回答