If you look at the documentation, you'll see that there's a function
gtk_selection_data_set_pixbuf(GtkSelectionData*, GdkPixbuf*)
which does exactly what you want.
The question then is, where do you get the GtkSelectionData
from? The answer is that usually, when a drop happens (or middle-click is pressed), GTK runs a callback giving you the selection data pointer and asking you to fill it in with the actual bytes that should be transferred.
But the whole drag and drop/clipboard stuff is horribly complicated in GTK. There are a couple of tutorials on the Gnome wiki which help though, I'd suggest having a read of them :-)