Bereitstellen von Steuerelementen zum Zuschneiden und Strecken von Bildern

Mit MCIWnd können Sie Bilder eines Videoclips zuschneiden und strecken. Um diese Features zu verstehen, müssen Sie die Beziehungen zwischen Framegröße, Quellrechteck, Zielrechteck und Wiedergabebereich verstehen.

Ein Videoclip besteht aus mehreren Frames, die jeweils ein Bild enthalten. Die Framegröße eines Videoclips entspricht der Größe des Bilds im aktuellen Frame. In der Regel hat ein Videoclip eine Framegröße, da alle Bilder im Clip die gleiche Größe haben.

Das Quellrechteck ist ein rechteckiger Bereich, der die Frames eines Videoclips überlagert. Das Quellrechteck definiert den Teil jedes Frames, der während der Wiedergabe angezeigt wird. Wenn ein Videoclip mit MCIWnd geladen wird, wird das Quellrechteck mit den gleichen Abmessungen und der gleichen Position wie der ursprüngliche Frame des Videoclips initialisiert.

Das Zielrechteck ist ein rechteckiger Bereich, der ein virtuelles Wiedergabefenster definiert. Das Zielrechteck empfängt die Bilddaten aus dem Quellrechteck für jeden Frame des Videoclips. Wenn sich die Quell- und Zielrechteckdimensionen unterscheiden, passt MCIWnd die Bilddaten nach Bedarf horizontal und vertikal an, um das Zielrechteck auszufüllen. Wenn ein Videoclip mit MCIWnd geladen wird, wird das Zielrechteck mit den gleichen Abmessungen und der gleichen Position wie der ursprüngliche Frame des Videoclips initialisiert.

Der Wiedergabebereich ist der Teil eines MCIWnd-Fensters, das eine Anwendung zum Anzeigen des Videoclips verwendet. Der Wiedergabebereich ist der Clientbereich eines MCIWnd-Fensters oder der Teil des Clientbereichs, der die MCIWnd-Symbolleiste ausschließt. Wenn ein Videoclip mit MCIWnd geladen wird, wird der Wiedergabebereich mit den gleichen Abmessungen und der gleichen Position wie der ursprüngliche Frame des Videoclips initialisiert.

Sie können einen Videoclip zuschneiden, indem Sie die Makros MCIWndGetSource und MCIWndPutSource verwenden, um das Quellrechteck zu ändern. Das Zuschneiden eines Bilds bestimmt nur, welcher Teil der Frames während der Wiedergabe angezeigt wird. der Inhalt der wiedergegebenen Datei wird nicht geändert. Bevor Sie ein Bild zuschneiden, können Sie die aktuelle Größe des Quellrechtecks mithilfe von MCIWndGetSource abrufen. Nachdem die neue Größe und Position des Quellrechtecks berechnet wurde, können Sie die Zuschneidegrenzen des Quellrechtecks mit MCIWndPutSource festlegen.

Sie können einen Videoclip mithilfe der Makros MCIWndGetDest und MCIWndPutDest strecken, um das Zielrechteck zu ändern. Wenn Sie einen Videoclip strecken, verlängern oder verkürzen Sie die Framegröße eines Videoclips vertikal, horizontal oder in beide Richtungen. Bevor Sie ein Bild gestreckt haben, können Sie die aktuelle Größe und Position des Zielrechtecks mithilfe von MCIWndGetDest abrufen. Mit dem MCIWndPutDest-Makro können Sie das Zielrechteck neu definieren. Stretching kann das Bild während der Wiedergabe verzerren, ändert jedoch nicht den Inhalt der wiedergegebenen Datei.

Wenn die Größe des Zielrechtecks größer als der Wiedergabebereich wird, können Sie mit MCIWndPutDest angeben, welcher Teil des Wiedergabebereichs den Videoclip anzeigt.

Hinweis

Das MCIWndPutDest-Makro ändert die Größe des Wiedergabebereichs nicht. Um das MCIWnd-Fenster zusammen mit dem Zielrechteck zu strecken, müssen Sie die aktuelle Größe des MCIWnd-Fensters kennen und neue Fensterdimensionen basierend auf dem Zielrechteck ausstellen. Sie können die Dimensionen des MCIWnd-Fensters mithilfe der GetWindowRect-Funktion abrufen und die Größe des MCIWnd-Fensters mithilfe der SetWindowPos-Funktion ändern.