Screenshot: Unterschied zwischen den Versionen

Aus Das Sopra Wiki
Greitschus (Diskussion | Beiträge)
Florian (Diskussion | Beiträge)
Keine Bearbeitungszusammenfassung
 
(6 dazwischenliegende Versionen von 4 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
{{review}}
{{complete}}


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.
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 [[Screenshot]]s 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 [[Screenshot|Screenshots]] ==


== Manuelles Erstellen eines [[Screenshot]]s ==
Mit Hilfe der folgenden kurzen Befehle lässt sich ein [[Screenshot]] einfach erstellen:
Mit Hilfe der folgenden kurzen Befehle lässt sich ein [[Screenshot]] einfach erstellen:


Zeile 17: Zeile 16:
Durch die Tastenkombination {{Taste|Alt}}+{{Taste|Druck}} bzw. {{Taste|Alt}}+{{Taste|PrntScrn}} wird nur das aktuell ausgewähle Fenster in die Zwischenablage kopiert und nicht der gesamte Bildschirm.
Durch die Tastenkombination {{Taste|Alt}}+{{Taste|Druck}} bzw. {{Taste|Alt}}+{{Taste|PrntScrn}} wird nur das aktuell ausgewähle Fenster in die Zwischenablage kopiert und nicht der gesamte Bildschirm.


== Erstellen von [[Screenshot|Screenshots]] mit Hilfe von Programmen ==
== Erstellen von [[Screenshot]]s 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.
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, [[Screenshot|Screenshots]] mit Hilfe von Programmen zu erstellen. Ein gut dafür geeignetes Programm ist [http://www.info.hardcopy.de/index.php 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.
Es gibt neben der manuellen Methode auch die Möglichkeit, [[Screenshot|Screenshots]] mit Hilfe von Programmen zu erstellen. Ein gut dafür geeignetes Programm ist [http://www.info.hardcopy.de/index.php 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 [[Screenshot]]s aus XNA ==
== Erstellen von [[Screenshot|Screenshots]] aus XNA ==
[[XNA]] bietet die Möglichkeit, aus einem laufenden Spiel heraus Screenshots zu erstellen. Der folgende Beispielcode zeigt eine Methode, die einen Screenshot aufnimmt. Diese kann beispielsweise beim Drücken einer bestimmten Taste aufgerufen werden.


<source lang="csharp">
<source lang="csharp">
private void Screenshot()
private void Screenshot()
{
{
  ResolveTexture2D screenshot = new ResolveTexture2D(graphics.GraphicsDevice,
  //create a render target to render the screenshot into
                                    graphics.GraphicsDevice.PresentationParameters.BackBufferWidth, // Die gesamte sichtbare Breite des Backbuffers
  RenderTarget2D screenshotTarget = new RenderTarget2D(GraphicsDevice, GraphicsDevice.Viewport.Width, GraphicsDevice.Viewport.Height, false, SurfaceFormat.Color, DepthFormat.Depth24Stencil8);
                                    graphics.GraphicsDevice.PresentationParameters.BackBufferHeight, // Die gesamte sichtbare Höhe des Backbuffers
 
                                    1,                                                              // Die Ebene. In der Regel immer die oberste Ebene, also 1
  //set the render target on the graphics device
                                    SurfaceFormat.Color))                                            // Das Pixelformat der neuen Textur
  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);


  graphics.GraphicsDevice.ResolveBackBuffer(screenshot); // Alle Daten des Backbuffers in eine Textur umwandeln (Screenshot aufnehmen)
  //save the screenshot to disk and close the file stream
  screenshot.Save("screenshot.bmp", ImageFileFormat.Bmp); // Die erstellte Textur abspeichern.
  screenshotTarget.SaveAsPng(fs, screenshotTarget.Width, screenshotTarget.Height);
  fs.Flush();
  fs.Close();
}
}
</source>
</source>
XNA bietet auch viele andere Formate, in denen das Bild abgespeichert werden kann. Eine Liste aller unterstützten Dateiformate befindet sich [[http://msdn.microsoft.com/en-us/library/microsoft.xna.framework.graphics.imagefileformat(XNAGameStudio.30).aspx hier]].


[[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:

  1. Soll der Bildschirm, wie er gerade zu sehen ist, abgespeichert werden: Druck oder PrntScrn drücken
  2. Der Bildschirminhalt wird automatisch in die Zwischenablage kopiert.
  3. Bildbearbeitungsprogramm öffnen (zum Beispiel MS-Paint, GIMP, etc.)
  4. Neues Bild erstellen
  5. Bearbeiten -> Einfügen wählen: Dies kopiert den Inhalt der Zwischenablage in das Programm.
  6. 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();
}