我想将我的pixbuf转换为“GtkSelectionData”,那么我怎么能用c ++转换呢? 以下是我的示例代码。
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
答案 0 :(得分:1)
如果你看the documentation,你会看到有一个功能
gtk_selection_data_set_pixbuf(GtkSelectionData*, GdkPixbuf*)
完全符合你的要求。
那么问题是,你从哪里得到GtkSelectionData
?答案是通常,当发生丢弃(或按下中键)时,GTK会运行一个回调,为您提供选择数据指针,并要求您使用应传输的实际字节填充它。
但是整个拖放/剪贴板的东西在GTK中非常复杂。有关Gnome wiki的一些教程有帮助,但我建议阅读它们: - )