Bitmaps zu- und ausschneiden, Animationen  

In DirectDraw gibt es häufig die Situation das ein Bitmap zu- bzw. ausgeschnitten werden muss. Gerade im Vollbild-Modus (Fullscreen) ist es wichtig, wenn ein Bitmap über den Bildschirmrand (Screen-Rand) hinauswandern soll. Es können aber auch einige Effekte hiermit erzielt werden.

Was ist eine Multimedia-Anwendung oder ein Spiel ohne Animationen. Gerade die machen ein Programm richtig lebendig. Bei einer Animation sind alle Einzelbilder in einem Bitmap nacheinander gereiht. Jedes Einzelbild wird dann ausgeschnitten und in den Backbuffer gezeichnet. So entsteht dann die Animation.

 
  Bitmaps zuschneiden (clippen) [ Top ]

Bei der Verwendung von Bitmaps im Vollbild-Modus (Fullscreen) kommt man sehr schnell zu dem Problem das die Bitmaps nicht mehr dargestellt werden, wenn sie ein paar Pixel über den Rand des Bildschirms hinausragen. Daher müssen die Bitmaps in solchen Fällen zugeschnitten werden. Läuft DirectDraw im Fenster ist das kein Problem, da der Clipper diese Funktion übernimmt. Im Vollbild- Modus gibt es allerdings keinen Clipper und daher muss das Zuschneiden per Hand erfolgen.

 

Das Bitmap ragt über die Bildschirmbreite hinaus und wird dann, egal ob Blt, BltFast oder BltFx, nicht mehr dargestellt. Den drei Funktionen wird aber nicht nur das Bitmap, sondern auch ein Quellrechteck (SourceRect; siehe Datentyp RECT bei Grundlagen) übergeben. Im SourceRect wird dann nicht die Größe des ganzen Bitmaps angegeben, sondern nur der sichtbare Bereich (im Beispiel der hellblaue Bereich).

Ein Beispiel zu Bitmaps zuschneiden mit DirectDraw können Sie hier downloaden, und den ausführlichen Tipp finden Sie in unserer Tipp-Rubrik.
  Download tip0117.zip Download
tip0117.zip
 (21,2 kB)
Downloadzeit: <1 Min. - 28.8k / <1 Min. - ISDN Downloads bisher: [ 2129 ]

 

  Bitmaps ausschneiden [ Top ]
Mit dem gleichen Prinzip können auch Teile aus einem Bitmap ausgeschnitten werden.

Es wird wieder nicht die gesamte Größe, sondern nur der Ausschnitt mit dem SourceRect übergeben
 
Ein Beispiel zum Ausschneiden von Bitmaps mit DirectDraw können Sie hier downloaden, und den ausführlichen Tipp finden Sie in unserer Tipp-Rubrik.
  Download tip0118.zip Download
tip0118.zip
 (17,3 kB)
Downloadzeit: <1 Min. - 28.8k / <1 Min. - ISDN Downloads bisher: [ 1705 ]

 

  Animation [ Top ]

Animationen basieren auch auf diesem Prinzip des Ausschneidens. Alle Einzelbilder befinden sich in einem Bitmap. Egal ob nun alle Einzelbilder in einer Zeile oder auf mehrere Zeilen aufgeteilt sind, es wird ein Einzelbild ausgeschnitten.

 

Wichtig ist die Anzahl der Einzelbilder und die Breite/Höhe des Einzelbildes. (Alle Einzelbilder sollten die gleiche Größe haben.) In die DirectDrawSurface wir das gesamte Bitmap geladen, aber in den Backbuffer wird nur ein Einzelbild gezeichnet.

Ein Beispiel zu Bitmap-Animation mit DirectDraw können Sie hier downloaden, und den ausführlichen Tipp finden Sie in unserer Tipp-Rubrik.
  Download tip0116.zip Download
tip0116.zip
 (127,7 kB)
Downloadzeit: <1 Min. - 28.8k / <1 Min. - ISDN Downloads bisher: [ 1419 ]

Startseite | VB-/VBA-Tipps | Projekte | Tutorials | API-Referenz | Komponenten | Bücherecke | Gewinnspiele | VB-/VBA-Forum | DirectX-Forum | VB.Net | .Net-Forum | Foren-Archiv | Chat | Spielplatz | Links | Suchen | Stichwortverzeichnis | Feedback | Impressum

Seite empfehlen Bug-Report

Letzte Aktualisierung, Donnerstag, 26. Juli 2001