現在のウィンドウをpngなどの画像ファイルとして保存するにはどうすればよいですか?gtkを使用して現在のウィンドウを画像として保存#
私は現在のウィンドウから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");
EDITはちょっと働いています。 PNGは正しいサイズでエクスポートされますが、ぼやけています。
EDIT 2
解決策が機能しています。 blurinessは、ファイルの使用gdk_pixbuf_save
に保存したい場合は、その後、GdkPixbuf
にGdkWindow
から取得するにはGNOMEの画像ビューア
GTK + 2または3を使用していますか? – oldtechaa
gtk-sharpバージョンが2.12.0.0であるので2と言うでしょう – frenchone