Screenshot: Unterschied zwischen den Versionen
Benni (Diskussion | Beiträge) |
Keine Bearbeitungszusammenfassung |
||
(2 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 22: | Zeile 22: | ||
== Erstellen von [[Screenshot]]s aus XNA == | == Erstellen von [[Screenshot]]s aus XNA == | ||
<source lang="csharp"> | <source lang="csharp"> | ||
private void Screenshot() | private void Screenshot() | ||
{ | { | ||
//create a render target to render the screenshot into | |||
RenderTarget2D screenshotTarget = new RenderTarget2D(GraphicsDevice, GraphicsDevice.Viewport.Width, GraphicsDevice.Viewport.Height, false, SurfaceFormat.Color, DepthFormat.Depth24Stencil8); | |||
//set the render target on the graphics device | |||
GraphicsDevice.SetRenderTarget(screenshotTarget); | |||
//call the draw code of the game to draw it into the render target | |||
this.Draw(); | |||
//create a filestream to save the rendered screenshot onto disk | |||
FileStream fs = new FileStream("screen.png", FileMode.OpenOrCreate); | |||
//reset the render target of the graphics device for normal drawing | |||
GraphicsDevice.SetRenderTarget(null); | |||
//save the screenshot to disk and close the file stream | |||
screenshotTarget.SaveAsPng(fs, screenshotTarget.Width, screenshotTarget.Height); | |||
fs.Flush(); | |||
fs.Close(); | |||
} | } | ||
</source> | </source> | ||
[[Kategorie:Tools]] | [[Kategorie:Tools]] | ||
[[Kategorie:Tutorials]] | [[Kategorie:Tutorials]] | ||
[[Kategorie:Begriffe]] [[Kategorie:Code-Beispiele]] | [[Kategorie:Begriffe]] [[Kategorie:Code-Beispiele]] | ||
[[Kategorie:MS02]] | |||
[[Kategorie:MS03]] | |||
[[Kategorie:MS04]] | |||
[[Kategorie:MS05]] |
Aktuelle Version vom 12. April 2011, 18:23 Uhr
Ein Screenshot ist einfach gesagt das Festhalten des gesamten Bildschirms oder von Teilen desselben in einer Datei. Dabei wird alles, was auf dem Monitor zu sehen ist, in eine Bilddatei eines beliebigen Formats umgewandelt. Mit Hilfe von Screenshots ist es möglich, Eindrücke von laufenden Programmen visuell darzustellen oder aber auch die Fehlersuche zu verbessern, indem einfach ein aufgetretener Fehler mitsamt Fehlermeldung gespeichert wird.
Manuelles Erstellen eines Screenshots
Mit Hilfe der folgenden kurzen Befehle lässt sich ein Screenshot einfach erstellen:
- Soll der Bildschirm, wie er gerade zu sehen ist, abgespeichert werden: Druck oder PrntScrn drücken
- Der Bildschirminhalt wird automatisch in die Zwischenablage kopiert.
- Bildbearbeitungsprogramm öffnen (zum Beispiel MS-Paint, GIMP, etc.)
- Neues Bild erstellen
- Bearbeiten -> Einfügen wählen: Dies kopiert den Inhalt der Zwischenablage in das Programm.
- Die Bilddatei unter einem beliebigen Namen und Format abspeichern. Hierbei gilt zu beachten, dass JPEG in der Regel kleiner ist, als die meisten anderen Formate. Allerdings gibt es große Unterschiede zwischen den verschiedenen JPEG-Compressoren. So neigt der MS-Paint JPEG-Compressor dazu, die Qualität zum Teil stark zu reduzieren und meist viele JPEG-Artefakte in das Bild einzubauen.
Tricks
Durch die Tastenkombination Alt+Druck bzw. Alt+PrntScrn wird nur das aktuell ausgewähle Fenster in die Zwischenablage kopiert und nicht der gesamte Bildschirm.
Erstellen von Screenshots mit Hilfe von Programmen
Unter Windows ab Version 6 (Vista) steht das Snipping Tool zur Verfügung. Dies kann zum einfachen bestimmen des Bildschirmausschittes benutzt werden.
Es gibt neben der manuellen Methode auch die Möglichkeit, Screenshots mit Hilfe von Programmen zu erstellen. Ein gut dafür geeignetes Programm ist HardCopy. Das Programm fügt jedem Fenster neben den Standard-Schaltflächen "Minimieren, Maximieren und Schließen" noch eine weitere Schaltfläche zum Drucken des Fensters hinzu. Dabei kann eingestellt werden, was auf Klick dieser Schaltfläche passieren soll. Ein so erstellter Screenshot kann direkt auf einem Drucker gedruckt, per E-Mail versendet oder in einer bestimmten Datei abgespeichert werden. Durch die vielseitigen Einstellungsmöglichkeiten ist HardCopy besonders für Benutzer geeignet, die häufig Screenshots erstellen und verwalten müssen.
Erstellen von Screenshots aus XNA
private void Screenshot()
{
//create a render target to render the screenshot into
RenderTarget2D screenshotTarget = new RenderTarget2D(GraphicsDevice, GraphicsDevice.Viewport.Width, GraphicsDevice.Viewport.Height, false, SurfaceFormat.Color, DepthFormat.Depth24Stencil8);
//set the render target on the graphics device
GraphicsDevice.SetRenderTarget(screenshotTarget);
//call the draw code of the game to draw it into the render target
this.Draw();
//create a filestream to save the rendered screenshot onto disk
FileStream fs = new FileStream("screen.png", FileMode.OpenOrCreate);
//reset the render target of the graphics device for normal drawing
GraphicsDevice.SetRenderTarget(null);
//save the screenshot to disk and close the file stream
screenshotTarget.SaveAsPng(fs, screenshotTarget.Width, screenshotTarget.Height);
fs.Flush();
fs.Close();
}