0

我想用 gtkmm(在 C++ 中)在图像上画一条简单的(红色)线。

我有图像:Gtk::Image *image显示在我的窗口中。

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

谢谢您的帮助 !

编辑:对我来说,一个解决方案是用带有 alpha 通道的图像覆盖图像......但我不知道该怎么做:-/

4

2 回答 2

1

连接到 GtkImage 的“expose-event”(GTK2)或“draw”(GTK3)信号。我认为您应该使用g_signal_connect_after(在 GObject 中)的 C++ 等效项,而不是那个g_signal_connect,因此您有机会在绘制图像后进行绘制,因此您的绘图位于其之上。要绘制你需要使用 cairomm,Joachim 已经给了你一个cairomm 教程的链接。

于 2013-02-11T16:22:33.270 回答
1

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

首先将图像放在窗口中(blitting 或其他方式)然后画线。

请参阅此链接,了解如何绘制直线。

于 2013-02-11T09:57:40.403 回答