Effect::GetAuxData, méthode (gdipluseffects.h)
Effect::GetAuxData obtient un pointeur vers un ensemble de tables de choix créées par un appel précédent à la méthode Bitmap::ApplyEffect.
Syntaxe
VOID * GetAuxData();
Valeur de retour
Cette méthode retourne un pointeur vers un ensemble de tables de recherche créées par un appel précédent à Bitmap::ApplyEffect. Si aucune table de choix n’est disponible, la valeur de retour est NULL.
Notes
Vous pouvez appliquer un effet à une bitmap en créant un instance de l’un des descendants de la classe Effect et en transmettant l’adresse de ce descendant à la méthode Bitmap::ApplyEffect. Pour certains descendants d’Effect, ApplyEffect crée des tables de recherche et retourne l’adresse de ces tables à l’objet descendant. Par exemple, vous pouvez récupérer les tables de recherche pour un objet BrightnessContrast comme suit :
- Créez un objet BrightnessContrast et appelez sa méthode SetParameters .
- Passez TRUE à la méthode Effect::UseAuxData de l’objet BrightnessContrast .
- Passez l’adresse de l’objet BrightnessContrast à la méthode Bitmap::ApplyEffect .
- Appelez la méthode Effect::GetAuxData de l’objet BrightnessContrast pour obtenir un pointeur vers les tables de choix créées par ApplyEffect. La mémoire tampon pour les tables de recherche est allouée par ApplyEffect ; vous n’êtes pas responsable de la libération de la mémoire tampon.
ApplyEffect peut retourner l’adresse des tables de recherche pour les descendants suivants de la classe Effect .
Pour les classes de la liste précédente, ApplyEffect crée quatre tables de choix : une pour les canaux bleu, vert, rouge et alpha. Chaque table de choix étant un tableau de 256 octets, la taille de l’ensemble des tables est de 1 024 octets. Les tables sont stockées dans l’ordre bleu, vert, rouge, alpha.Exemples
Le code suivant transmet l’adresse d’un objet BrightnessContrast à la méthode Bitmap::ApplyEffect . Ensuite, le code imprime la table de recherche de canal bleu créée par ApplyEffect.
Bitmap bm(L"Picture.bmp");
BrightnessContrastParams briConParams;
briConParams.brightnessLevel = 0;
briConParams.contrastLevel = 25;
BrightnessContrast briCon;
briCon.SetParameters(&briConParams);
briCon.UseAuxData(TRUE);
bm.ApplyEffect(&briCon, NULL);
VOID* data = briCon.GetAuxData();
// You know the size is 1024, but check to make sure.
INT size = briCon.GetAuxDataSize();
if(1024 != size || NULL == data)
return;
// Cast the data pointer as a ColorLUTParams pointer so that it
// will be easy to examine the individual tables.
ColorLUTParams* tables = (ColorLUTParams*)data;
// Print the lookup table for the blue channel.
for(UINT j = 0; j < 256; ++j)
{
printf("%u, %u\n", j, tables->lutB[j]);
}
Configuration requise
Client minimal pris en charge | Windows Vista [applications de bureau uniquement] |
Serveur minimal pris en charge | Windows Server 2008 [applications de bureau uniquement] |
Plateforme cible | Windows |
En-tête | gdipluseffects.h (include Gdiplus.h) |
Bibliothèque | Gdiplus.lib |
DLL | Gdiplus.dll |
Voir aussi
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour