Comment utiliser les options de codage (HTML)
[ Cet article est destiné aux développeurs Windows 8.x et Windows Phone 8.x qui créent des applications Windows Runtime. Si vous développez une application pour Windows 10, voir la Documentation ]
Cette rubrique vous montre comment définir des options de codage dans un objet BitmapEncoder. Les options de codage vous permettent d’affiner le comportement et les paramètres d’un encodeur. Par exemple, vous pouvez définir l’option ImageQuality dans l’encodeur JPEG pour trouver un compromis entre la qualité des images et la taille des fichiers. Le recours aux options de codage n’est généralement pas nécessaire puisque l’encodeur sélectionne automatiquement les valeurs par défaut appropriées.
Les options de codage sont seulement exposées par les méthodes CreateAsync et GoToNextFrameAsync de l’objet BitmapEncoder, ceci parce que vous devez spécifier l’option de codage au moment d’initialiser l’encodeur ou la trame.
Ce que vous devez savoir
Technologies
Prérequis
- Vous devez être en mesure de créer une application Windows Runtime de base en JavaScript. Pour plus d’informations, voir Création de votre première application Windows Runtime en JavaScript.
- Vous devez savoir comment coder une image à l’aide de l’objet BitmapEncoder. Pour plus d’informations, voir Comment coder une nouvelle image.
Options de codage de référence
Vous pouvez utiliser les options de codage ici avec l’objet BitmapEncoder. Une option de codage se définit par son nom (à savoir une chaîne) et par une valeur dans un type de données particulier (Windows.Foundation.PropertyType).
Nom | Type de propriété | Notes d’utilisation | Formats valides |
---|---|---|---|
ImageQuality | unique | Valeurs valides de 0 à 1.0. Des valeurs plus élevées indiquent une plus haute qualité. | JPEG, JPEG-XR |
CompressionQuality | unique | Valeurs valides de 0 à 1.0. Des valeurs plus élevées indiquent un schéma de compression plus efficace et plus lent. | TIFF |
Lossless | booléen | Si cette propriété a la valeur True, l’option ImageQuality est ignorée. | JPEG-XR |
InterlaceOption | booléen | Indique la nécessité ou non d’entrelacer l’image. | PNG |
FilterOption | uint8 | Utilisez l’énumération PngFilterMode. | PNG |
TiffCompressionMethod | uint8 | Utilisez l’énumération TiffCompressionMode. | TIFF |
Luminance | uint32Array | Tableau de 64 éléments comprenant des constantes de quantification de la luminance. | JPEG |
Chrominance | uint32Array | Tableau de 64 éléments comprenant des constantes de quantification de la chrominance. | JPEG |
JpegYCrCbSubsampling | uint8 | Utilisez l’énumération JpegSubsamplingMode. | JPEG |
SuppressApp0 | booléen | Indique la nécessité ou non de supprimer la création d’un bloc de métadonnées App0. | JPEG |
EnableV5Header32bppBGRA | booléen | Indique la nécessité ou non de coder dans une version 5 BMP avec prise en charge alpha. | BMP |
Instructions
Étape 1: Obtenir un flux de sortie
Rédigez le début d’une fonction qui accepte une interface IRandomAccessStream ouverte à partir du fichier dans lequel vous procédez à un codage. Vous devez utiliser un flux ouvert avec des privilèges ReadWrite.
function (stream) {
Remarque Cet exemple part du principe que vous codez au format d’image JPEG. Les options de codage sont propres au format d’image.
Pour savoir comment vous procurer un flux de sortie, consultez la rubrique Comment coder une nouvelle image
Étape 2: Créer une collection d’options de codage
Vous utilisez un objet BitmapPropertySet pour stocker une ou plusieurs options de codage. Chaque option de codage est une paire clé-valeur. La clé est une chaîne définie conformément au nom de l’option de codage (par exemple, ImageQuality). La valeur est un objet BitmapTypedValue qui vous permet d’associer la valeur d’option de codage réelle avec un type de données explicite (Windows.Foundation.PropertyType).
Cet exemple vous montre comment définir l’encodeur JPEG pour exploiter la meilleure qualité disponible. Pour définir la qualité, créez une option de codage avec la clé ImageQuality et définissez la valeur sur un nombre à précision simple, 1.0 (la valeur valide la plus élevée).
var propertySet = new Windows.Graphics.Imaging.BitmapPropertySet();
var qualityValue = new Windows.Graphics.Imaging.BitmapTypedValue(
1.0, // Maximum quality
Windows.Foundation.PropertyType.single
);
propertySet.insert("ImageQuality", qualityValue);
Étape 3: Initialiser l’encodeur à l’aide des options de codage
Utilisez la méthode CreateAsync avec les options de codage comme dernier paramètre.
Windows.Graphics.Imaging.BitmapEncoder.createAsync(
Windows.Graphics.Imaging.BitmapEncoder.jpegEncoderId,
stream,
propertySet
).then(function (encoder) {
// Encoder is initialized with encoding options.
});
Vous disposez à présent d’un encodeur dont vous pouvez vous servir normalement.