新手:将 RGB 渲染到 GTK 小部件——如何?
Posted
技术标签:
【中文标题】新手:将 RGB 渲染到 GTK 小部件——如何?【英文标题】:Newbie: Render RGB to GTK widget -- howto? 【发布时间】:2010-05-11 21:26:42 【问题描述】:大图:我想在 Linux 机器上通过 GTK 渲染 RGB 图像。
我是一个沮丧的 GTK 新手,所以请原谅我。
我假设我应该创建一个 Drawable_area 来渲染图像——对吗?
然后我必须创建一个附加到该区域的图形上下文吗?怎么样?
我的简单应用程序(它甚至还没有解决 rgb 问题是这样的:
int main(int argc, char** argv)
GdkGC * gc = NULL;
GtkWidget * window = NULL;
GtkDrawingArea * dpage = NULL;
GtkWidget * page = NULL;
gtk_init( &argc, & argv );
window = gtk_window_new( GTK_WINDOW_TOPLEVEL );
page = gtk_drawing_area_new( );
dpage = GTK_DRAWING_AREA( page );
gtk_widget_set_size_request( page, PAGE_WIDTH, PAGE_HEIGHT );
gc = gdk_gc_new( GTK_DRAWABLE( dpage ) );
gtk_widget_show( window );
gtk_main();
return (EXIT_SUCCESS);
我的 dpage 显然不是“可绘制的”(尽管它是一个绘图区域)。我对 a) 我如何获取/创建后续函数调用中所需的图形上下文感到困惑? b)我是否接近解决方案,或者我完全 *#&@& 错误以至于没有希望 c) 婴儿步骤教程。 (我从 hello world 开始作为我的基础,所以我得到了 远)。
感谢所有帮助。
bp
【问题讨论】:
【参考方案1】:您至少应该阅读涂鸦教程 (http://library.gnome.org/devel/gtk-tutorial/stable/c2422.html),如果不是其中一部分的较大教程。
既然您标记了您的问题 c++,我建议您使用 gtkmm,如果您已经非常了解 C++,您会发现使用它进行开发会容易得多。还有一个教程:http://library.gnome.org/devel/gtkmm-tutorial/stable/
【讨论】:
感谢您的回复——非常感谢!我将搬到 gtkmm。我仍然对图形上下文(绘图区域、小部件等的 [派生] 成员)有点迷惑,但会继续挖掘。谢谢你。 [顺便说一句:我喜欢红肉]。以上是关于新手:将 RGB 渲染到 GTK 小部件——如何?的主要内容,如果未能解决你的问题,请参考以下文章