GdipSetCompositingQuality()



Syntaxe
Resultat.i = GdipSetCompositingQuality(*graphics, compositingQuality.i)
Paramètres
*graphics

[in] Pointeur sur un objet Graphics existant.

compositingQuality.i

[in] Elément de l'énumération CompositingQuality qui spécifie le mode de composition du graphique.

Description

Cette fonction permet de définir et d'appliquer la qualité du rendu des images composées dessinées sur le graphique.
La qualité de la composition détermine le niveau de qualité du rendu des images composées.

Note Microsoft :
La composition s'effectue pendant le rendu, lorsque les pixels source sont combinés aux pixels de destination afin de produire les pixels résultants. La qualité de la composition est directement liée à la qualité visuelle de la sortie et inversement proportionnelle au temps de rendu. Plus la qualité est élevée, plus le rendu est lent. En effet, plus le niveau de qualité est élevé, plus les pixels avoisinants doivent être pris en considération pendant la composition. Le paramètre de qualité linéaire (#CompositingQualityAssumeLinear) représente un bon compromis en fournissant une meilleure qualité que celle par défaut à une vitesse légèrement réduite.

Lorsque vous indiquez que la correction gamma ne devrait pas être appliquée, alors les données des images à rendre (mélangées avec le fond) sont dans un espace de couleur linéaire avec une valeur gamma à 1.0. En conséquence, aucun ajustement gamma n'est appliqué aux données de l'image avant ou après le mélange avec le fond. Quand vous indiquez que la correction gamma devrait être appliquée, alors les données d'image à rendre (mélangé avec le fond) sont dans un espace de couleur de sRGB avec une valeur gamma à 2.2. Pour assurer un mélange précis, les données d'entrée de l'image sont transformées en un espace linéaire (gamma = 1.0) avant le mélange et la retransformation des couleurs dans l'espace sRGB (gamma = 2.2). Ce mode a comme conséquence un mélange plus précis pour un temps de la transformation plus long.

Exemple :
Dessine une fenêtre.
Le graphique principal (qui correspond au paramètre *graphics de la fonction) est créé à partir du Hdc de la fenêtre principale
Création d'une SolidBrush rouge avec couche alpha à 180
Application au graphique de la qualité de composition #CompositingQualityHighSpeed
On dessine un rectangle rempli avec la brush à x = 30, y = 0 largeur et hauteur 100 pixels
Application au graphique de la qualité de composition #CompositingQualityHighQuality
On dessine un second rectangle rempli avec la brush à x = 205, y = 0 largeur et hauteur 100 pixels

Le résultat est l'image ci-dessous.

Le rectangle de gauche est dessiné avec une transparence de 70% (couche alpha de la brus à 180) avec une qualité à #CompositingQualityHighSpeed, la correction gamma n'est pas appliquée, la vitesse est grande pour une qualité inférieure.
Le second rectangle est dessiné avec une transparence de 70% (couche alpha de la brus à 180) avec une qualité à #CompositingQualityHighQuality, la correction gamma est appliquée, la qualité est haute pour une faible vitesse.

Résultat de la fonction
Si la fonction réussit, elle retourne #Ok qui est une constante de l'énumération status.
Si la fonction échoue, elle retourne une des autres valeurs de l'énumération status.
PB - OS

PureBasic v4.30 bêta 4 (Windows - x86)
Testé avec Windows Vista édition familiale Premium