Freigeben über


IWICBitmapScaler-Schnittstelle (wincodec.h)

Stellt eine geänderte Version der Eingabe-Bitmap mithilfe eines Neusamplings- oder Filteralgorithmus dar.

Vererbung

Die IWICBitmapScaler-Schnittstelle erbt von IWICBitmapSource. IWICBitmapScaler verfügt auch über folgende Arten von Membern:

Methoden

Die IWICBitmapScaler-Schnittstelle verfügt über diese Methoden.

 
IWICBitmapScaler::Initialize

Initialisiert den Bitmapskalierer mit den angegebenen Parametern.

Hinweise

Bilder können auf größere Größen skaliert werden; Aber selbst bei ausgefeilten Skalierungsalgorithmen gibt es nur so viele Informationen im Bild und Artefakte neigen dazu, sich zu verschlechtern, je mehr Sie hochskalieren.

Der Skalierungsalgorithmus wird jedes Mal erneut angewendet, wenn CopyPixels aufgerufen wird. Wenn das skalierte Bild animiert werden soll, sollte das skalierte Bild einmal erstellt und in einer neuen Bitmap zwischengespeichert werden, danach kann das IWICBitmapScaler freigegeben werden. Auf diese Weise wird der Skalierungsalgorithmus - der im Verhältnis zur Zeichnung möglicherweise rechenintensiv ist - nur einmal ausgeführt und das Ergebnis mehrmals angezeigt.

Der Scaler ist so optimiert, dass er die minimale Menge an Arbeitsspeicher verwendet, die zum ordnungsgemäßen Skalieren des Bilds erforderlich ist. Der Scaler kann verwendet werden, um Teile des Bilds inkrementell (Banding) zu erzeugen, indem CopyPixels mit verschiedenen Rechtecken aufgerufen wird, die die Ausgabebänder des Bilds darstellen. Die Neustempelung erfordert in der Regel überlappende Rechtecke aus dem Quellbild und muss daher möglicherweise mehrmals dieselben Pixel aus der Quellbitbitbit anfordern. Das Anfordern von nicht ordnungsgemäßen Scanlines von einigen Bilddecodern kann zu erheblichen Leistungseinbußen führen. Aus diesem Grund ist die Skalierung für die Verarbeitung aufeinanderfolgender horizontaler Bänder von Scanlinien (Rechteckbreite entspricht der Bitmapbreite) optimiert. In diesem Fall wird der Akkumulator aus dem vorherigen vertikal angrenzenden Rechteck erneut verwendet, um doppelte Scanlineanforderungen von der Quelle zu vermeiden. Dies bedeutet, dass die bandierte Ausgabe des Scalers möglicherweise eine bessere Leistung hat, wenn die Bänder sequenziell angefordert werden. Wenn der Scaler einfach verwendet wird, um eine einzelne Rechteckausgabe zu erzeugen, wird dieses Problem beseitigt, da die Skalierung intern Scanlines in der richtigen Reihenfolge anfragt.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows XP mit SP2, Windows Vista [Desktop-Apps | UWP-Apps]
Unterstützte Mindestversion (Server) Windows Server 2008 [Desktop-Apps | UWP-Apps]
Zielplattform Windows
Kopfzeile wincodec.h