Share via


Interface IWICBitmapScaler (wincodec.h)

Représente une version redimensionnée de la bitmap d’entrée à l’aide d’un algorithme de rééchantillonnage ou de filtrage.

Héritage

L’interface IWICBitmapScaler hérite de IWICBitmapSource. IWICBitmapScaler a également les types de membres suivants :

Méthodes

L’interface IWICBitmapScaler a ces méthodes.

 
IWICBitmapScaler ::Initialize

Initialise le scaler bitmap avec les paramètres fournis.

Remarques

Les images peuvent être mises à l’échelle vers des tailles plus grandes ; Toutefois, même avec des algorithmes de mise à l’échelle sophistiqués, il n’y a que tellement d’informations dans l’image et les artefacts ont tendance à empirer plus vous effectuez un scale-up.

Le scaler réapplique l’algorithme de rééchantillonnage chaque fois que CopyPixels est appelé. Si l’image mise à l’échelle doit être animée, l’image mise à l’échelle doit être créée une fois et mise en cache dans une nouvelle bitmap, après quoi IWICBitmapScaler peut être libéré. De cette façon, l’algorithme de mise à l’échelle , qui peut être coûteux en calcul par rapport au dessin, n’est exécuté qu’une seule fois et le résultat s’affiche plusieurs fois.

Le scaler est optimisé pour utiliser la quantité minimale de mémoire nécessaire à la mise à l’échelle de l’image correctement. Le scaler peut être utilisé pour produire des parties de l’image de manière incrémentielle (bandes) en appelant CopyPixels avec différents rectangles représentant les bandes de sortie de l’image. Le rééchantillonnage nécessite généralement des rectangles qui se chevauchent à partir de l’image source et peut donc avoir besoin de demander les mêmes pixels à la bitmap source plusieurs fois. La demande de lignes de balayage dans le désordre à partir de certains décodeurs d’images peut entraîner une pénalité importante en matière de performances. Pour cette raison, le scaler est optimisé pour gérer les bandes horizontales consécutives de lignes de balayage (largeur de rectangle égale à la largeur bitmap). Dans ce cas, l’accumulateur du rectangle adjacent vertical précédent est réutilisé pour éviter les demandes de ligne de balayage en double provenant de la source. Cela implique que la sortie en bandes du scaler peut avoir de meilleures performances si les bandes sont demandées séquentiellement. Bien sûr, si l’outil de mise à l’échelle est simplement utilisé pour produire une sortie de rectangle unique, ce problème est éliminé, car le scaler demande en interne des lignes de balayage dans le bon ordre.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows XP avec SP2, Windows Vista [applications de bureau | Applications UWP]
Serveur minimal pris en charge Windows Server 2008 [applications de bureau | applications UWP]
Plateforme cible Windows
En-tête wincodec.h