сохранить текущее окно как изображение, используя gtk #

Как я могу сохранить текущее окно как файл изображения, такой как png?

Я знаю, что могу получить gdkWindow из текущих окон. Я даже могу получить изображение. Из этой структуры изображения я могу даже запросить каждый пиксель. Но из того, что я понимаю, мне действительно нужно получить pixbuf.

int width;
int height;
this.GetSize(width, height);
this.GdkWindow.GetImage(0,0,width,height).?

Как получить pixbuf из окна gtk, окна gdk или изображения gdk?

РЕДАКТИРОВАТЬ

int width;
int height;
this.GetSize(out width, out height);
Pixbuf pixbuf = Pixbuf.FromDrawable (this.GdkWindow, this.Colormap, 0, 0, 0, 0, width, height);
pixbuf.Save("/tmp/out.png","png");

это вроде работает. PNG экспортируется с правильным размером, но он размыт.

РЕДАКТИРОВАТЬ 2

Решение работает. Размытость была ошибкой гнома просмотра изображений

Ответы на вопрос(1)

Ваш ответ на вопрос