Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Les effets bitmap permettent aux concepteurs et aux développeurs d’appliquer des effets visuels au contenu WPF (Windows Presentation Foundation). Par exemple, les effets bitmap vous permettent d’appliquer facilement un effet de DropShadowBitmapEffect ou un effet flou à une image ou à un bouton.
Important
Dans .NET Framework 4 ou version ultérieure, la classe BitmapEffect est obsolète. Si vous essayez d’utiliser la classe BitmapEffect, vous obtiendrez une exception obsolète. L’alternative non obsolète à la classe BitmapEffect est la classe Effect. Dans la plupart des cas, la classe Effect est beaucoup plus rapide.
Effets bitmap WPF
Les effets bitmap (BitmapEffect objet) sont des opérations de traitement de pixels simples. Un effet bitmap prend une BitmapSource en tant qu’entrée et produit une nouvelle BitmapSource après l’application de l’effet, comme un flou ou une ombre portée. Chaque effet bitmap expose des propriétés qui peuvent contrôler les propriétés de filtrage, telles que Radius de BlurBitmapEffect.
En tant que cas spécial, dans WPF, les effets peuvent être définis en tant que propriétés sur des objets de Visual dynamiques, tels qu’un Button ou TextBox. Le traitement des pixels est appliqué et rendu au moment de l’exécution. Dans ce cas, au moment du rendu, un Visual est automatiquement converti en son équivalent BitmapSource et est alimenté comme entrée au BitmapEffect. La sortie remplace le comportement de rendu par défaut de l’objet Visual. C’est pourquoi les objets BitmapEffect forcent les visuels à être rendus uniquement par le logiciel, c’est-à-dire qu'il n'y a pas d'accélération matérielle sur les visuels lorsque des effets sont appliqués.
BlurBitmapEffect simule un objet qui apparaît hors focus.
OuterGlowBitmapEffect crée un halo de couleur autour du périmètre d’un objet.
DropShadowBitmapEffect crée une ombre derrière un objet.
BevelBitmapEffect crée un biseau qui soulève la surface d’une image en fonction d’une courbe spécifiée.
EmbossBitmapEffect crée un placage de relief d’un Visual pour donner une impression de profondeur et de texture à partir d’une source de lumière artificielle.
Remarque
Les effets bitmap WPF sont rendus en mode logiciel. Tout objet qui applique un effet sera également rendu dans le logiciel. Les performances sont détériorées le plus lors de l’utilisation d’effets Bitmap sur des visuels volumineux ou l’animation des propriétés d’un effet Bitmap. Cela ne veut pas dire que vous ne devez pas utiliser les effets bitmap de cette façon, mais vous devez utiliser la prudence et tester soigneusement pour vous assurer que vos utilisateurs obtiennent l’expérience attendue.
Remarque
Les effets bitmap WPF ne prennent pas en charge l’exécution en confiance partielle. Une application doit disposer d’autorisations de confiance totale pour utiliser des effets bitmap.
Comment appliquer un effet
BitmapEffect est une propriété sur Visual. Par conséquent, l’application d’effets à des visuels, tels qu’un Button, Image, DrawingVisualou UIElement, est aussi simple que la définition d’une propriété. BitmapEffect pouvez être défini sur un objet BitmapEffect unique ou plusieurs effets peuvent être chaînés à l’aide de l’objet BitmapEffectGroup.
L’exemple suivant montre comment appliquer un BitmapEffect en XAML (Extensible Application Markup Language).
<Button Width="200">You Can't Read This!
<Button.BitmapEffect>
<!-- <BitmapEffectGroup> would go here if you wanted to apply more
then one effect to the Button. However, in this example only
one effect is being applied so BitmapEffectGroup does not need
to be included. -->
<!-- The larger the Radius, the more blurring. The default range is 20.
In addition, the KernelType is set to a box kernel. A box kernel
creates less disruption (less blur) then the default Gaussian kernel. -->
<BlurBitmapEffect Radius="10" KernelType="Box" />
</Button.BitmapEffect>
</Button>
L’exemple suivant montre comment appliquer un BitmapEffect dans le code.
// Get a reference to the Button.
Button myButton = (Button)sender;
// Initialize a new BlurBitmapEffect that will be applied
// to the Button.
BlurBitmapEffect myBlurEffect = new BlurBitmapEffect();
// Set the Radius property of the blur. This determines how
// blurry the effect will be. The larger the radius, the more
// blurring.
myBlurEffect.Radius = 10;
// Set the KernelType property of the blur. A KernalType of "Box"
// creates less blur than the Gaussian kernal type.
myBlurEffect.KernelType = KernelType.Box;
// Apply the bitmap effect to the Button.
myButton.BitmapEffect = myBlurEffect;
Remarque
Lorsqu’un BitmapEffect est appliqué à un conteneur de disposition, tel que DockPanel ou Canvas, cela affecte l’arborescence d’élémens visuels de l’élément ou de l'objet visuel, y compris tous ses éléments enfants.
Création d’effets personnalisés
WPF fournit également des interfaces non managées pour créer des effets personnalisés qui peuvent être utilisés dans les applications WPF gérées. Pour obtenir des informations de référence supplémentaires concernant la création d’effets bitmap personnalisés, consultez la documentation Effet bitmap WPF non managé.
Voir aussi
- BitmapEffectGroup
- BitmapEffectInput
- BitmapEffectCollection
- effet bitmap WPF non managé
- Vue d’ensemble de l’imagerie
- Sécurité
- Vue d’ensemble du rendu graphique WPF
- Graphiques et images 2D
.NET Desktop feedback