1
我想将我的pixbuf转换为“GtkSelectionData”,那么,如何将它转换为C++? 以下是我的示例代码。想要将“GdkPixbuf”转换为“GtkSelectionData”对象
clipboard = gtk_clipboard_get_for_display (gdk_display_get_default(),
GDK_SELECTION_CLIPBOARD);
GdkPixbuf *pixbuf;
pixbuf = gtk_clipboard_wait_for_image (clipboard);
if (pixbuf != NULL)
{
int width, height;
width = gdk_pixbuf_get_width (pixbuf);
height = gdk_pixbuf_get_height (pixbuf);
//printf("width : %d", width);
GtkSelectionData *selectionData;
gtk_selection_data_set_pixbuf(selectionData,pixbuf);
g_object_unref (pixbuf);
}
Error: cannot convert ‘GdkPixbuf* {aka _GdkPixbuf*}’ to ‘GtkSelectionData* {aka _GtkSelectionData*}’ in initialization
感谢,Jimit
@Trishtan我正在复制一个图像并将其转换到pixbuf中,我想将该pixbuf转换为“GtkSelectionData”对象。上面的函数将帮助我得到相同的结果吗? – Jimit
'GtkSelectionData'是一个结构,它包含一个指向要传输的数据的指针,以及类型和大小等其他元数据。上述函数将pixbuf指针存储在选择数据结构中,告诉GTK“这是我想要传输的原始数据”。但是您首先需要通过GTK回调交付选择数据,因此所有其他元数据都已正确填写。你很少需要自己创建一个'GtkSelectionData'。 –
我修改了上面的代码。你可以看看它吗? – Jimit