gtk +图像用c ++绘制图像

时间:2013-02-11 09:54:02

标签: c++ gtk gtkmm

我想用gtkmm(用c ++)在图像上绘制一条简单的(红色)线

我的图片显示在我的窗口中Gtk::Image *image

但是我希望在调用函数时改变位置(我的意思是:绘制另一条线)。我需要你的帮助,因为我没有找到如何在现有图像上绘制 ...

感谢您的帮助!

编辑:我的解决方案是用alpha通道覆盖图像...但我不知道如何: - /

2 个答案:

答案 0 :(得分:1)

您不应该在图像中实际绘制,而是在窗口中绘制。

首先将图像放在窗口中(blitting或其他一些方法),然后绘制线条。

参见例如this link关于如何绘制直线。

答案 1 :(得分:1)

连接到GtkImage的“expose-event”(GTK2)或“draw”(GTK3)信号。我认为你应该使用等同于g_signal_connect_after的C ++(在GObject中),而不是g_signal_connect,因此在绘制图像后你有机会绘制,所以你的绘图是打开的顶部。要绘制你需要使用cairomm,Joachim已经为你提供了cairomm tutorial的链接。