How to get a screenshot?

Konstantin Kutsevalov via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Sun Sep 25 09:56:40 PDT 2016


This is example:

```
import std.stdio;
import gtk.Main;
import gtk.MainWindow;
import gtk.VBox, gtk.Label, gtk.Button;
import gdk.Gdk;
import gdk.Window;
import gdk.Pixbuf;
private import stdlib = core.stdc.stdlib : exit;

int main(string[] args)
{
	Main.init(args);
	new ApMainWindow();
	Main.run();
	return 0;
}


class ApMainWindow : MainWindow
{
	this()
	{
		super("Screen Capture");
		setTitle("Screen Capture Example");
		setDefaultSize(250, 120);
		VBox box = new VBox(false, 2);
		box.add(new Button("ScreenShot", &screenSave));
		box.add(new Button("Exit", &exitProg));
		add(box);
		showAll();
	}
	
	void screenSave(Button button)
	{
		Window win = Window.getDefaultRootWindow();
		int width = win.getWidth;
		int height = win.getHeight;
		Pixbuf screenshot = getFromWindow(win, 0, 0, width, height);
		screenshot.savev("screenshot.png", "png", null, null);
	}
	
	void exitProg(Button button)
	{
		stdlib.exit(0);
	}
}
```


More information about the Digitalmars-d-learn mailing list