Sequenzen von Bildern
Sie können eine Sequenz von Bitmaps mit den gleichen Dimensionen und Formaten anzeigen, indem Sie die DrawDibDraw-Funktion mit der DrawDibBegin-Funktion verwenden. DrawDibBegin verbessert die Effizienz von DrawDibDraw, indem der DrawDib-DC für das Zeichnen vorbereitet wird.
Hinweis
Wenn Ihre Anwendung DrawDibBeginnicht verwendet, führt DrawDibDraw sie implizit vor dem Zeichnen aus. Wenn Ihre Anwendung DrawDibBegin vor DrawDibDraw verwendet, muss DrawDibDraw die Funktion nicht verarbeiten und warten, bis sie abgeschlossen ist.
Die DrawDibBegin-Funktion stellt DrawDibDraw mit dem DrawDib-DC, dem DC-Handle, der Adresse der BITMAPINFOHEADER-Struktur und den Quell- und Zielrechteckdimensionen bereit. Wenn Sie eine Sequenz von Bitmaps anzeigen, überprüft DrawDibDraw die Werte dieser Elemente für jedes Bild in der Sequenz. Wenn DrawDibDraw Änderungen an einem dieser Elemente erkennt, ruft es DrawDibBegin implizit erneut auf, um die DrawDib-DC-Einstellungen anzupassen.
Nach der Verwendung von DrawDibBeginkönnen Sie die Bildsequenz zeichnen, indem Sie DrawDibDraw verwenden und je nach Bedarf mindestens ein Flag angeben. Geben Sie das DDF _ SAME _ HDC-Flag an, solange sich das DC-Handle nicht geändert hat. Geben Sie das DDF _ SAME _ DRAW-Flag an, wenn sich die folgenden Parameter für DrawDibDraw nicht geändert haben: die Adresse der BITMAPINFOHEADER-Struktur und die Quell- und Zielrechteckdimensionen.
Sie können die mit DrawDibBegin festgelegten Flags aktualisieren, indem Sie die DrawDibEnd-Funktion gefolgt von einem weiteren Aufruf von DrawDibBegin verwenden. Verwenden Sie dann DrawDibEnd, um den DrawDib-DC seiner aktuellen Flags und Einstellungen zu löschen. Durch den nachfolgenden Aufruf von DrawDibBegin wird der DrawDib-DC mit den entsprechenden Flags und Einstellungen erneut initialisiert. Alternativ können Sie die Flags für einen DrawDib-DC aktualisieren, indem Sie DrawDibBegin ohne DrawDibEnd verwenden. Dazu müssen Sie mindestens eine der folgenden Einstellungen gleichzeitig mit den Flags ändern: die Adresse der BITMAPINFOHEADER-Struktur oder die Quell- oder Zielrechteckdimension.
Mithilfe der Funktionen DrawDibStart und DrawDibStop können Sie die Effizienz von DrawDibDraw für Datenstreamingvorgänge erhöhen, die komprimierte Bilder verwenden, z. B. das Wiedergeben eines Videoclips. Die DrawDibStart-Funktion bereitet den DrawDib-DC auf den Empfang eines Bilddatenstroms vor, indem eine Nachricht an den Videokomprimierungs-Manager (VCM) gesendet wird. Wenn das Streaming beendet ist, sendet DrawDibStop eine Nachricht an den VCM, die angibt, dass ressourcen, die ihm für den Datenstreamingvorgang zugeordnet sind, freigeben können. Weitere Informationen zu VCM finden Sie unter Videokomprimierungs-Manager.
Hinweis
Sie müssen die Breite und Höhe der Quell- und Zielrechtecke in Ihrer Anwendung angeben. Sie müssen jedoch nicht die Ursprünge der Rechtecke angeben. Ihre Anwendung kann die Ursprünge in DrawDibDraw neu definieren, um verschiedene Teile des Bilds zu verwenden oder verschiedene Teile der Anzeige zu aktualisieren.