【问题标题】:Newbie: Render RGB to GTK widget -- howto?新手:将 RGB 渲染到 GTK 小部件——如何?
【发布时间】: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

【问题讨论】:

    标签: c++ linux gtk gdk


    【解决方案1】:

    您至少应该阅读涂鸦教程 (http://library.gnome.org/devel/gtk-tutorial/stable/c2422.html),如果不是其中一部分的较大教程。

    既然您标记了您的问题 c++,我建议您使用 gtkmm,如果您已经非常了解 C++,您会发现使用它进行开发会容易得多。还有一个教程:http://library.gnome.org/devel/gtkmm-tutorial/stable/

    【讨论】:

    • 感谢您的回复——非常感谢!我将搬到 gtkmm。我仍然对图形上下文(绘图区域、小部件等的 [派生] 成员)有点迷惑,但会继续挖掘。谢谢你。 [顺便说一句:我喜欢红肉]。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-20
    • 2016-12-14
    • 1970-01-01
    • 2011-09-02
    • 2015-11-03
    • 1970-01-01
    相关资源
    最近更新 更多