Partage via


ImageBrush Classe

Définition

Peint une zone avec une image. La source d’image est généralement obtenue à partir de formats de fichiers tels que JPEG (Joint Photographic Experts Group).

public ref class ImageBrush sealed : TileBrush
/// [Windows.Foundation.Metadata.Activatable(65536, Windows.Foundation.UniversalApiContract)]
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class ImageBrush final : TileBrush
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
/// [Windows.Foundation.Metadata.Activatable(65536, "Windows.Foundation.UniversalApiContract")]
class ImageBrush final : TileBrush
[Windows.Foundation.Metadata.Activatable(65536, typeof(Windows.Foundation.UniversalApiContract))]
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class ImageBrush : TileBrush
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
[Windows.Foundation.Metadata.Activatable(65536, "Windows.Foundation.UniversalApiContract")]
public sealed class ImageBrush : TileBrush
Public NotInheritable Class ImageBrush
Inherits TileBrush
<ImageBrush .../>
Héritage
Object Platform::Object IInspectable DependencyObject Brush TileBrush ImageBrush
Attributs

Configuration requise pour Windows

Famille d’appareils
Windows 10 (introduit dans 10.0.10240.0)
API contract
Windows.Foundation.UniversalApiContract (introduit dans v1.0)

Exemples

Cet exemple XAML montre comment définir la propriété Foreground d’un TextBlock sur un ImageBrush, dont l’image est utilisée comme remplissage pour le texte rendu par TextBlock.

<!-- TextBlock with an image brush applied to the text. -->
<TextBlock FontFamily="Verdana" FontSize="72"
 FontStyle="Italic" FontWeight="Bold">
    SHRUBBERY
  <TextBlock.Foreground>
    <ImageBrush ImageSource="forest.jpeg"/>
  </TextBlock.Foreground>
</TextBlock>
ImageBrush appliqué au texte

Remarques

Une imageBrush est un type de pinceau qui définit son contenu comme une image qui peut éventuellement être étirée et alignée. Les utilisations d’un ImageBrush incluent des effets décoratifs pour le texte ou des arrière-plans d’image pour les contrôles ou les conteneurs de disposition.

Il est utile d’utiliser un contrôle ImageBrush au lieu d’un contrôle Image dans deux scénarios main :

  1. Vous souhaitez peindre une zone non rectangulaire telle qu’une ellipse ou une bordure avec une image
  2. Vous souhaitez utiliser un seul ImageBrush pour peindre plusieurs zones ou éléments UIElements avec la même image, ce qui est plus efficace que l’utilisation de plusieurs contrôles Image

Si vous définissez un ImageBrush à l’aide de code, utilisez le constructeur par défaut, puis définissez ImageBrush.ImageSource. Cela nécessite une Image Bitmap (et non un URI)) dans le code. Si votre source est un flux, utilisez la méthode SetSourceAsync pour initialiser la valeur. Si votre source est un URI (Uniform Resource Identifier), qui inclut du contenu dans votre application qui utilise les schémas ms-appx ou ms-resource , utilisez le constructeur BitmapImage qui prend un URI (Uniform Resource Identifier). Vous pouvez également envisager de gérer l’événement ImageOpened s’il existe des problèmes de délai liés à la récupération ou au décodage de la source de l’image, auquel cas un contenu alternatif peut s’avérer nécessaire à afficher tant que la source de l’image n’est pas disponible. Consultez l’exemple d’images XAML pour obtenir un exemple de code.

Notes

Vous pouvez utiliser la gestion automatique pour accéder aux ressources non qualifiées avec des qualificateurs d’échelle et de culture actuels, ou vous pouvez utiliser ResourceManager et ResourceMap avec des qualificateurs pour la culture et la mise à l’échelle pour obtenir directement les ressources. Pour plus d’informations, voir Système de gestion des ressources.

La propriété Stretch est importante pour la façon dont l’image est appliquée lorsqu’elle est utilisée comme pinceau. Certaines images semblent bien lorsqu’elles sont étirées comme appliquées à une propriété Brush particulière avec le comportement Fill , tandis que d’autres images ne s’étirent pas ou ne sont pas correctement mises à l’échelle et peuvent nécessiter une valeur None ou Uniform pour Stretch. Testez différentes valeurs pour Stretch pour voir quel comportement semble le mieux lorsqu’il est appliqué à l’interface utilisateur.

Sources d’images et mise à l’échelle

Vous devez créer vos sources d’images à plusieurs tailles recommandées, afin de vous assurer que votre application s’affiche bien quand Windows 8 la met à l’échelle. Lorsque vous spécifiez un ImageSource pour un ImageBrush, vous pouvez utiliser une convention de nommage qui référencera automatiquement la ressource appropriée pour la mise à l’échelle actuelle. Pour connaître les spécificités de la convention d’affectation de noms et obtenir plus d’informations, voir Démarrage rapide : Utilisation de ressources de fichiers ou d’images.

Pour plus d’informations sur la conception de la mise à l’échelle, consultez instructions d’expérience utilisateur pour la disposition et la mise à l’échelle.

Remarques pour les versions précédentes

Windows 8

Windows 8 rencontré un problème avec la résolution d’ImageSource à partir d’une valeur URI d’attribut XAML, si ImageBrush fait partie d’un style XAML ou d’un modèle appliqué à un contrôle. L’utilisation du contrôle utilise parfois un URI de base spécifique au composant plutôt que l’URI de base approprié pour le style ou le modèle, qui provient généralement de l’application. Le problème est résolu à partir de Windows 8.1 ; l’URI de base est correctement déterminé pour les ressources d’application ou les ressources de composant en fonction de l’étendue qui a besoin de l’URI de base. Les applications qui ont été compilées pour Windows 8 ont peut-être utilisé des solutions de contournement pour ce comportement, en plaçant leurs fichiers sources d’image au « mauvais » emplacement, où l’URI XAML était résolu et où l’application affichait les images. Si vous migrez XAML de Windows 8 vers Windows 8.1 vous devez tester les utilisations d’ImageBrush dans un style ou un modèle à partir de votre code XAML et vérifier que la résolution d’image de votre application fonctionne avec Windows 8.1. Si vous rencontrez un problème, vous devez déplacer vos fichiers source d’image dans le package afin qu’ils se trouvent dans l’étendue de ressources appropriée pour le nouveau comportement.

Les applications qui ont été compilées pour Windows 8, mais qui sont exécutées dans Windows 8.1, continuent d’appliquer le comportement Windows 8.

Constructeurs

ImageBrush()

Initialise une nouvelle instance de la classe ImageBrush.

Propriétés

AlignmentX

Obtient ou définit l’alignement horizontal du contenu dans la vignette de base TileBrush .

(Hérité de TileBrush)
AlignmentY

Obtient ou définit l’alignement vertical du contenu dans la vignette de base TileBrush .

(Hérité de TileBrush)
Dispatcher

Obtient le CoreDispatcher auquel cet objet est associé. CoreDispatcher représente une installation qui peut accéder à DependencyObject sur le thread d’interface utilisateur, même si le code est initié par un thread autre que l’interface utilisateur.

(Hérité de DependencyObject)
ImageSource

Obtient ou définit la source d’image affichée par cette ImageBrush. Dans le code, vous définissez cette valeur avec une sous-classe ImageSource instance. En XAML, vous définissez cette valeur avec un URI sur un fichier source d’image.

ImageSourceProperty

Identifie la propriété de dépendance ImageSource .

Opacity

Obtient ou définit le degré d’opacité d’un pinceau.

(Hérité de Brush)
RelativeTransform

Obtient ou définit la transformation appliquée au pinceau en utilisant des coordonnées relatives.

(Hérité de Brush)
Stretch

Obtient ou définit une valeur qui spécifie la façon dont le contenu de ce TileBrush s’étire pour s’adapter à ses vignettes.

(Hérité de TileBrush)
Transform

Obtient ou définit la transformation appliquée au pinceau.

(Hérité de Brush)

Méthodes

ClearValue(DependencyProperty)

Efface la valeur locale d’une propriété de dépendance.

(Hérité de DependencyObject)
GetAnimationBaseValue(DependencyProperty)

Retourne toute valeur de base établie pour une propriété de dépendance, qui s’applique dans les cas où une animation n’est pas active.

(Hérité de DependencyObject)
GetValue(DependencyProperty)

Retourne la valeur effective actuelle d’une propriété de dépendance à partir d’un objet DependencyObject.

(Hérité de DependencyObject)
PopulatePropertyInfo(String, AnimationPropertyInfo)

Définit une propriété qui peut être animée.

(Hérité de Brush)
PopulatePropertyInfoOverride(String, AnimationPropertyInfo)

En cas de substitution dans une classe dérivée, définit une propriété qui peut être animée.

(Hérité de Brush)
ReadLocalValue(DependencyProperty)

Retourne la valeur locale d’une propriété de dépendance, si une valeur locale est définie.

(Hérité de DependencyObject)
RegisterPropertyChangedCallback(DependencyProperty, DependencyPropertyChangedCallback)

Inscrit une fonction de notification pour écouter les modifications apportées à un DependencyProperty spécifique sur ce instance DependencyObject.

(Hérité de DependencyObject)
SetValue(DependencyProperty, Object)

Définit la valeur locale d’une propriété de dépendance sur un DependencyObject.

(Hérité de DependencyObject)
UnregisterPropertyChangedCallback(DependencyProperty, Int64)

Annule une notification de modification précédemment inscrite en appelant RegisterPropertyChangedCallback.

(Hérité de DependencyObject)

Événements

ImageFailed

Se produit lorsqu’une erreur est associée à la récupération ou au format d’image.

ImageOpened

Se produit lorsque la source d’image est téléchargée et décodée sans échec. Vous pouvez utiliser cet événement pour déterminer la taille d’une image avant de la restituer.

S’applique à

Voir aussi