SCREENCOPY

FreeBASIC-Referenz » Alphabetische Befehlsreferenz » S » SCREENCOPY

Syntax: SCREENCOPY [Quellseite][, Zielseite]
Typ: Anweisung
Kategorie: Grafik

SCREENCOPY kopiert den Inhalt einer Bildschirmseite in eine andere.

Wenn durch eine vorhergehende VIEW-Anweisung ein Darstellungsfeld definiert wurde, wird nur dieses kopiert; ansonsten kopiert SCREENCOPY die gesamte Bildschirmseite.

Mit SCREENCOPY können Sie in FreeBASIC double buffering realisieren; diese Technik wird zur Erzeugung flimmerfreier Animationen benutzt.

SCREENCOPY funktioniert mit jedem Bildschirmmodus, der mit mehreren Seiten initiiert wurde. Bei einseitigen Modi hat SCREENCOPY keinen Effekt.

Im Grafikmodus bewirken die Befehle FLIP und PCOPY dasselbe wie SCREENCOPY.

Beispiel:

ScreenRes 320, 240, 32, 2  ' Fenster mit 320x240 Pixeln und 32bit Farbtiefe und zwei Bildseiten

For n As Integer = 50 To 270
  ScreenSet 1, 0           ' eine Seite anzeigen, während die andere bearbeitet wird
  Cls
  Circle (n, 50), 50 , RGB(255, 255, 0) ' gelben Kreis auf die aktive Seite zeichnen
  ScreenSet 0, 0           ' die aktive Seite auf die sichtbare Seite einstellen
  ScreenSync               ' auf die Bildschirmaktualisierung warten
  ScreenCopy 1, 0          ' Kreis von der vorher aktiven Seite auf die sichtbare Seite kopieren

  Sleep 25
Next

Print "Taste druecken um zu beenden."
Sleep

Unterschiede zu QB: neu in FreeBASIC

Unterschiede zu früheren Versionen von FreeBASIC:
Die Möglichkeit, mit SCREENCOPY nur den durch VIEW (Grafik) definierten Darstellungsbereich zu kopieren, besteht seit FreeBASIC v0.13.

Unterschiede unter den FB-Dialektformen:
In der Dialektform -lang qb steht SCREENCOPY nicht zur Verfügung und kann nur über __SCREENCOPY aufgerufen werden.

Siehe auch:
SCREENRES, SCREENSET, SCREENSYNC, FLIP, PCOPY, Grafik