сохранить текущее окно как изображение, используя 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
Решение работает. Размытость была ошибкой гнома просмотра изображений