現在のウィンドウをpngなどの画像ファイルとして保存するにはどうすればよいですか?
現在のウィンドウから gdkWindow を取得できることはわかっています。イメージさえも掴めます。この画像構造体から、各ピクセルを照会することもできます。しかし、私が本当に必要としているのは、pixbuf を取得することです。
int width;
int height;
this.GetSize(width, height);
this.GdkWindow.GetImage(0,0,width,height).?
gtk ウィンドウ、gdk ウィンドウ、または gdk イメージから pixbuf を取得するにはどうすればよいですか?
編集
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
解決策は機能しています。ぼやけは gnome 画像ビューアのバグでした