Cet article a fait l'objet d'une traduction manuelle. Déplacez votre pointeur sur les phrases de l'article pour voir la version originale de ce texte.
Traduction
Source
Ce sujet n'a pas encore été évalué - Évaluez ce sujet

DrawingBrush, classe

Peint une zone avec un Drawing qui peut inclure des formes, du texte, de la vidéo, des images ou d'autres dessins.

System.Object
  System.Windows.Threading.DispatcherObject
    System.Windows.DependencyObject
      System.Windows.Freezable
        System.Windows.Media.Animation.Animatable
          System.Windows.Media.Brush
            System.Windows.Media.TileBrush
              System.Windows.Media.DrawingBrush

Espace de noms :  System.Windows.Media
Assembly :  PresentationCore (dans PresentationCore.dll)
XMLNS pour XAML : http://schemas.microsoft.com/winfx/2006/xaml/presentation, http://schemas.microsoft.com/netfx/2007/xaml/presentation
public sealed class DrawingBrush : TileBrush

Le type DrawingBrush expose les membres suivants.

  Nom Description
Méthode publique DrawingBrush() Initialise une nouvelle instance de la classe DrawingBrush. Le pinceau résultant n'a aucun contenu.
Méthode publique DrawingBrush(Drawing) Initialise une nouvelle instance de la classe DrawingBrush qui contient le Drawing spécifié.
Début
  Nom Description
Propriété publique AlignmentX Obtient ou définit l'alignement horizontal du contenu dans la mosaïque de base TileBrush. (Hérité de TileBrush.)
Propriété publique AlignmentY Obtient ou définit l'alignement vertical du contenu TileBrush dans la mosaïque de base. (Hérité de TileBrush.)
Propriété publique CanFreeze Obtient une valeur qui indique la possibilité ou non de rendre un objet non modifiable. (Hérité de Freezable.)
Propriété publique DependencyObjectType Obtient le DependencyObjectType qui encapsule le type CLR de cette instance.  (Hérité de DependencyObject.)
Propriété publique Dispatcher Obtient le Dispatcher associé à DispatcherObject. (Hérité de DispatcherObject.)
Propriété publique Drawing Obtient ou définit le Drawing qui décrit le contenu de ce DrawingBrush.
Propriété publique HasAnimatedProperties Obtient une valeur qui indique si un ou plusieurs objets AnimationClock sont associés à l'une ou l'autre des propriétés de dépendance de cet objet. (Hérité de Animatable.)
Propriété publique IsFrozen Obtient une valeur qui indique si l'objet est actuellement modifiable ou pas. (Hérité de Freezable.)
Propriété publique IsSealed Récupère une valeur qui indique si cette instance est actuellement sealed (en lecture seule). (Hérité de DependencyObject.)
Propriété publique Opacity Obtient ou définit le degré d'opacité d'un Brush. (Hérité de Brush.)
Propriété publique RelativeTransform Obtient ou définit la transformation appliquée au pinceau à l'aide de coordonnées relatives. (Hérité de Brush.)
Propriété publique Stretch Obtient ou définit une valeur qui spécifie comment le contenu de ce TileBrush s'étend pour s'ajuster à ses mosaïques. (Hérité de TileBrush.)
Propriété publique TileMode Obtient ou définit une valeur qui spécifie comment un TileBrush remplit la zone que vous peignez si la mosaïque de base est plus petite que la zone de sortie. (Hérité de TileBrush.)
Propriété publique Transform Obtient ou définit la transformation qui est appliquée au pinceau. Cette transformation est appliquée une fois la sortie du pinceau mappée et positionnée. (Hérité de Brush.)
Propriété publique Viewbox Obtient ou définit la position et les dimensions du contenu dans une mosaïque TileBrush. (Hérité de TileBrush.)
Propriété publique ViewboxUnits Obtient ou définit une valeur qui spécifie si la valeur Viewbox est relative au cadre englobant du contenu TileBrush ou si la valeur est absolue. (Hérité de TileBrush.)
Propriété publique Viewport Obtient ou définit la position et les dimensions de la mosaïque de base pour un TileBrush. (Hérité de TileBrush.)
Propriété publique ViewportUnits Obtient ou définit une énumération BrushMappingMode qui spécifie si la valeur du Viewportqui indique la taille et la position de la mosaïque de base TileBrush, est relative à la taille de la zone de sortie. (Hérité de TileBrush.)
Début
  Nom Description
Méthode publique ApplyAnimationClock(DependencyProperty, AnimationClock) Applique une horloge AnimationClock à la propriété DependencyProperty spécifiée. Si la propriété est déjà animée, le comportement de transfert SnapshotAndReplace est utilisé. (Hérité de Animatable.)
Méthode publique ApplyAnimationClock(DependencyProperty, AnimationClock, HandoffBehavior) Applique une horloge AnimationClock à la propriété DependencyProperty spécifiée. Si la propriété spécifiée est déjà animée, le comportement HandoffBehavior spécifié est utilisé. (Hérité de Animatable.)
Méthode publique BeginAnimation(DependencyProperty, AnimationTimeline) Applique une animation à la propriété DependencyPropertyspécifiée. L'animation est démarrée à la restitution de l'image suivante. Si la propriété spécifiée est déjà animée, le comportement de transfert SnapshotAndReplace est utilisé. (Hérité de Animatable.)
Méthode publique BeginAnimation(DependencyProperty, AnimationTimeline, HandoffBehavior) Applique une animation à la propriété DependencyPropertyspécifiée. L'animation est démarrée à la restitution de l'image suivante. Si la propriété spécifiée est déjà animée, le comportement HandoffBehavior spécifié est utilisé. (Hérité de Animatable.)
Méthode publique CheckAccess Détermine si le thread appelant a accès à ce DispatcherObject. (Hérité de DispatcherObject.)
Méthode publique ClearValue(DependencyProperty) Efface la valeur de proximité d'une propriété. La propriété à effacer est spécifiée par un identificateur DependencyProperty. (Hérité de DependencyObject.)
Méthode publique ClearValue(DependencyPropertyKey) Efface la valeur de proximité d'une propriété en lecture seule. La propriété à effacer est spécifiée par un DependencyPropertyKey. (Hérité de DependencyObject.)
Méthode publique Clone Crée un clone modifiable de ce DrawingBrush, en créant des copies complètes des valeurs de l'objet. Lors de la copie de propriétés de dépendance, cette méthode copie les références de ressources et les liaisons de données (même si elles ne peuvent plus être résolues), mais pas les animations ni leurs valeurs actuelles.
Méthode protégée CloneCore Convertit l'instance en clone (copie complète) du Freezable spécifié à l'aide des valeurs de propriétés (non-animées) de base. (Hérité de Freezable.)
Méthode publique CloneCurrentValue Crée un clone modifiable de cet objet DrawingBrush, en effectuant une copie complète des valeurs actuelles de cet objet. Contrairement à leurs valeurs actuelles, les références de ressources, les liaisons de données et les animations ne sont pas copiées.
Méthode protégée CloneCurrentValueCore Convertit l'instance en clone modifiable (copie complète) du Freezable spécifié à l'aide des valeurs de propriétés actuelles. (Hérité de Freezable.)
Méthode publique CoerceValue Force la valeur de la propriété de dépendance spécifiée. Cette opération est accomplie en appelant toute fonction CoerceValueCallback spécifiée dans les métadonnées de propriété pour la propriété de dépendance comme elle existe sur le DependencyObject appelant. (Hérité de DependencyObject.)
Méthode protégée CreateInstance Initialise une nouvelle instance de la classe Freezable. (Hérité de Freezable.)
Méthode protégée CreateInstanceCore Une fois implémentée dans une classe dérivée, initialise une nouvelle instance de la classe dérivée Freezable. (Hérité de Freezable.)
Méthode publique Equals Détermine si un DependencyObject fourni est équivalent au DependencyObject réel. (Hérité de DependencyObject.)
Méthode protégée Finalize Autorise un objet à tenter de libérer des ressources et d'exécuter d'autres opérations de netto***ge avant qu'il ne soit récupéré par l'opération garbage collection. (Hérité de Object.)
Méthode publique Freeze() Rend l'objet actuel non modifiable et définit sa propriété IsFrozen sur true. (Hérité de Freezable.)
Méthode protégée FreezeCore Rend cet objet Animatable non modifiable ou détermine s'il peut être rendu non modifiable. (Hérité de Animatable.)
Méthode publique GetAnimationBaseValue Retourne la valeur non animée de la propriété DependencyProperty spécifiée. (Hérité de Animatable.)
Méthode publique GetAsFrozen Crée une copie figée de Freezable, à l'aide des valeurs de propriété (non-animées) de base. Étant donné que la copie est figée, tous les sous-objets figés sont copiés par référence. (Hérité de Freezable.)
Méthode protégée GetAsFrozenCore Convertit l'instance en clone figé du Freezable spécifié à l'aide des valeurs de propriétés (non-animées) de base. (Hérité de Freezable.)
Méthode protégée GetContentBounds Obtient les limites actuelles du contenu TileBrush (Hérité de TileBrush.)
Méthode publique GetCurrentValueAsFrozen Crée une copie figée de Freezable à l'aide des valeurs de propriété actuelles. Étant donné que la copie est figée, tous les sous-objets figés sont copiés par référence. (Hérité de Freezable.)
Méthode protégée GetCurrentValueAsFrozenCore Convertit l'instance actuelle en un clone figé du Freezable spécifié. Si l'objet comporte des propriétés de dépendance animées, leurs valeurs animées actuelles sont copiées. (Hérité de Freezable.)
Méthode publique GetHashCode Obtient un code de hachage pour ce DependencyObject. (Hérité de DependencyObject.)
Méthode publique GetLocalValueEnumerator Crée un énumérateur spécialisé pour déterminer quelles propriétés de dépendance ont des valeurs définies localement sur ce DependencyObject. (Hérité de DependencyObject.)
Méthode publique GetType Obtient le Type de l'instance actuelle. (Hérité de Object.)
Méthode publique GetValue Retourne la valeur effective actuelle d'une propriété de dépendance sur cette instance d'un DependencyObject. (Hérité de DependencyObject.)
Méthode publique InvalidateProperty Réévalue la valeur effective pour la propriété de dépendance spécifiée (Hérité de DependencyObject.)
Méthode protégée MemberwiseClone Crée une copie superficielle de l'objet Object actif. (Hérité de Object.)
Méthode protégée OnChanged Appelé lors de la modification de l'objet Freezable actuel. (Hérité de Freezable.)
Méthode protégée OnFreezablePropertyChanged(DependencyObject, DependencyObject) Garantit que les pointeurs de contexte appropriés sont établis pour un membre de données de type DependencyObjectType qui vient juste d'être défini. (Hérité de Freezable.)
Méthode protégée OnFreezablePropertyChanged(DependencyObject, DependencyObject, DependencyProperty) Ce membre prend en charge l'infrastructure Windows Presentation Foundation (WPF) et n'est pas conçu pour être utilisé directement à partir du code. (Hérité de Freezable.)
Méthode protégée OnPropertyChanged Substitue l'implémentation DependencyObject de OnPropertyChanged pour appeler également tous les gestionnaires Changed en réponse à une propriété de dépendance variable de type Freezable. (Hérité de Freezable.)
Méthode publique ReadLocalValue Retourne la valeur de proximité d'une propriété de dépendance, si elle existe. (Hérité de DependencyObject.)
Méthode protégée ReadPreamble Garantit que Freezable est accessible à partir d'un thread valide. Les héritiers de Freezable doivent appeler cette méthode au début de toute API lisant les membres de données qui ne sont pas des propriétés de dépendance. (Hérité de Freezable.)
Méthode publique SetCurrentValue Définit la valeur d'une propriété de dépendance sans modifier sa source de valeur. (Hérité de DependencyObject.)
Méthode publique SetValue(DependencyProperty, Object) Définit la valeur de proximité d'une propriété de dépendance, spécifiée par son identificateur de propriété de dépendance. (Hérité de DependencyObject.)
Méthode publique SetValue(DependencyPropertyKey, Object) Définit la valeur de proximité d'une propriété de dépendance en lecture seule, spécifiée par l'identificateur DependencyPropertyKey de la propriété de dépendance. (Hérité de DependencyObject.)
Méthode protégée ShouldSerializeProperty Retourne une valeur qui indique si les processus de sérialisation doivent sérialiser la valeur pour la propriété de dépendance fournie. (Hérité de DependencyObject.)
Méthode publique ToString() Retourne une représentation sous forme de chaîne de ce Brush. (Hérité de Brush.)
Méthode publique ToString(IFormatProvider) Crée une représentation sous forme de chaîne de cet objet selon les informations de mise en forme spécifique à la culture spécifiées. (Hérité de Brush.)
Méthode publique VerifyAccess Garantit que le thread appelant a accès à DispatcherObject. (Hérité de DispatcherObject.)
Méthode protégée WritePostscript Déclenche l'événement Changed pour Freezable et appelle sa méthode OnChanged. Les classes qui dérivent de Freezable doivent appeler cette méthode à la fin de toute API qui modifie des membres de classe non stockés en tant que propriétés de dépendance. (Hérité de Freezable.)
Méthode protégée WritePreamble Vérifie que le Freezable n'est pas figé et que son accès s'effectue à partir d'un contexte de thread valide. Les héritiers de Freezable doivent appeler cette méthode au début de toute API écrivant les membres de données qui ne sont pas des propriétés de dépendance. (Hérité de Freezable.)
Début
  Nom Description
Événement public Changed Se produit lorsque Freezable ou un objet qu'il contient est modifié. (Hérité de Freezable.)
Début
  Nom Description
Champ public Membre statique DrawingProperty Identifie la propriété de dépendance Drawing.
Début
  Nom Description
Implémentation d'interface explicite Méthode privée IFormattable.ToString Met en forme la valeur de l'instance en cours à l'aide du format spécifié. (Hérité de Brush.)
Début

L'illustration suivante affiche les formes et le texte qui ont été peints avec un DrawingBrush.

Formes et texte peints avec un pinceau de dessin

Exemples de sortie DrawingBrush

Pour plus d'informations et d'exemples, consultez Peinture avec des objets d'image, de dessin et visuels.

This example shows how to paint an area with a drawing. To paint an area with a drawing, you use a DrawingBrush and one or more Drawing objects. The following example uses a DrawingBrush to paint an object with a drawing of two ellipses.


<!-- Demonstrates the use of DrawingBrush. -->
<Page  
  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  Background="White">
  <StackPanel Margin="20">

    <Rectangle Width="150" Height="150" Stroke="Black" StrokeThickness="1">
      <Rectangle.Fill>
        <DrawingBrush>
          <DrawingBrush.Drawing>
            <GeometryDrawing Brush="MediumBlue">
              <GeometryDrawing.Geometry>
                <GeometryGroup>
                  <EllipseGeometry RadiusX="20" RadiusY="45" Center="50,50" />
                  <EllipseGeometry RadiusX="45" RadiusY="20" Center="50,50" />
                </GeometryGroup>
              </GeometryDrawing.Geometry>
              <GeometryDrawing.Pen>
                <Pen Thickness="10">
                  <Pen.Brush>
                    <LinearGradientBrush>
                      <GradientStop Offset="0.0" Color="Black" />
                      <GradientStop Offset="1.0" Color="Gray" />
                    </LinearGradientBrush>
                  </Pen.Brush>
                </Pen>
              </GeometryDrawing.Pen>
            </GeometryDrawing>
          </DrawingBrush.Drawing>
        </DrawingBrush>
      </Rectangle.Fill>
    </Rectangle>
  </StackPanel>
</Page>




using System;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Media.Imaging;
using System.Windows.Shapes;


namespace Microsoft.Samples.DrawingBrushExamples
{
    /// <summary>
    /// Paints a Rectangle element with a DrawingBrush.
    /// </summary>
    public class DrawingBrushExample : Page
    {
        public DrawingBrushExample()
        {
            Background = Brushes.White;
            StackPanel mainPanel = new StackPanel();

            // Create a drawing of two ellipses.
            GeometryDrawing aDrawing = new GeometryDrawing();

            // Use geometries to describe two overlapping ellipses.
            EllipseGeometry ellipse1 = new EllipseGeometry();
            ellipse1.RadiusX = 20;
            ellipse1.RadiusY = 45;
            ellipse1.Center = new Point(50, 50);
            EllipseGeometry ellipse2 = new EllipseGeometry();
            ellipse2.RadiusX = 45;
            ellipse2.RadiusY = 20;
            ellipse2.Center = new Point(50, 50);
            GeometryGroup ellipses = new GeometryGroup();
            ellipses.Children.Add(ellipse1);
            ellipses.Children.Add(ellipse2);

            // Add the geometry to the drawing.
            aDrawing.Geometry = ellipses;

            // Specify the drawing's fill.
            aDrawing.Brush = Brushes.Blue;

            // Specify the drawing's stroke.
            Pen stroke = new Pen();
            stroke.Thickness = 10.0;
            stroke.Brush = new LinearGradientBrush(
                Colors.Black, Colors.Gray, new Point(0, 0), new Point(1, 1));
            aDrawing.Pen = stroke;

            // Create a DrawingBrush
            DrawingBrush myDrawingBrush = new DrawingBrush();
            myDrawingBrush.Drawing = aDrawing;

            // Create a Rectangle element.
            Rectangle aRectangle = new Rectangle();
            aRectangle.Width = 150;
            aRectangle.Height = 150;
            aRectangle.Stroke = Brushes.Black;
            aRectangle.StrokeThickness = 1.0;

            // Use the DrawingBrush to paint the rectangle's
            // background.
            aRectangle.Fill = myDrawingBrush;

            mainPanel.Children.Add(aRectangle);

            this.Content = mainPanel;

        }
    }
}


The following illustration shows the example's output.

Sortie d'un DrawingBrush

(The center of the shape is white for reasons described in Comment : contrôler le remplissage d'une forme composite.)

By setting a DrawingBrush object's Viewport and TileMode properties, you can create a repeating pattern. The following example paints an object with a pattern created from a drawing of two ellipses.


<!-- Demonstrates the use of DrawingBrush. -->
<Page  
  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  Background="White">
  <StackPanel Margin="20">

    <Rectangle Width="150" Height="150" Stroke="Black" StrokeThickness="1">
      <Rectangle.Fill>
        <DrawingBrush Viewport="0,0,0.25,0.25" TileMode="Tile">
          <DrawingBrush.Drawing>
            <GeometryDrawing Brush="MediumBlue">
              <GeometryDrawing.Geometry>
                <GeometryGroup>
                  <EllipseGeometry RadiusX="20" RadiusY="45" Center="50,50" />
                  <EllipseGeometry RadiusX="45" RadiusY="20" Center="50,50" />
                </GeometryGroup>
              </GeometryDrawing.Geometry>
              <GeometryDrawing.Pen>
                <Pen Thickness="10">
                  <Pen.Brush>
                    <LinearGradientBrush>
                      <GradientStop Offset="0.0" Color="Black" />
                      <GradientStop Offset="1.0" Color="Gray" />
                    </LinearGradientBrush>
                  </Pen.Brush>
                </Pen>
              </GeometryDrawing.Pen>
            </GeometryDrawing>
          </DrawingBrush.Drawing>
        </DrawingBrush>
      </Rectangle.Fill>
    </Rectangle>
  </StackPanel>
</Page>




using System;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Media.Imaging;
using System.Windows.Shapes;


namespace Microsoft.Samples.DrawingBrushExamples
{

    /// <summary>
    /// Paints a Rectangle element with a tiled DrawingBrush.
    /// </summary>
    public class TiledDrawingBrushExample : Page
    {

        public TiledDrawingBrushExample()
        {
            Background = Brushes.White;
            StackPanel mainPanel = new StackPanel();

            // Create a drawing of two ellipses.
            GeometryDrawing aDrawing = new GeometryDrawing();

            // Use geometries to describe two overlapping ellipses.
            EllipseGeometry ellipse1 = new EllipseGeometry();
            ellipse1.RadiusX = 20;
            ellipse1.RadiusY = 45;
            ellipse1.Center = new Point(50, 50);
            EllipseGeometry ellipse2 = new EllipseGeometry();
            ellipse2.RadiusX = 45;
            ellipse2.RadiusY = 20;
            ellipse2.Center = new Point(50, 50);
            GeometryGroup ellipses = new GeometryGroup();
            ellipses.Children.Add(ellipse1);
            ellipses.Children.Add(ellipse2);

            // Add the geometry to the drawing.
            aDrawing.Geometry = ellipses;

            // Specify the drawing's fill.
            aDrawing.Brush = Brushes.Blue;

            // Specify the drawing's stroke.
            Pen stroke = new Pen();
            stroke.Thickness = 10.0;
            stroke.Brush = new LinearGradientBrush(
                Colors.Black, Colors.Gray, new Point(0, 0), new Point(1, 1));
            aDrawing.Pen = stroke;

            // Create a DrawingBrush
            DrawingBrush myDrawingBrush = new DrawingBrush();
            myDrawingBrush.Drawing = aDrawing;

            // Set the DrawingBrush's Viewport and TileMode
            // properties so that it generates a pattern.
            myDrawingBrush.Viewport = new Rect(0, 0, 0.25, 0.25);
            myDrawingBrush.TileMode = TileMode.Tile;

            // Create a Rectangle element.
            Rectangle aRectangle = new Rectangle();
            aRectangle.Width = 150;
            aRectangle.Height = 150;
            aRectangle.Stroke = Brushes.Black;
            aRectangle.StrokeThickness = 1.0;

            // Use the DrawingBrush to paint the rectangle's
            // background.
            aRectangle.Fill = myDrawingBrush;

            mainPanel.Children.Add(aRectangle);

            this.Content = mainPanel;

        }

    }
}


The following illustration shows the tiled DrawingBrush output.

Sortie en mosaïque d'un DrawingBrush

For more information about drawing brushes, see Peinture avec des objets d'image, de dessin et visuels. For more information about Drawing objects, see the Vue d'ensemble des objets Drawing.

.NET Framework

Pris en charge dans : 4, 3.5, 3.0

.NET Framework Client Profile

Pris en charge dans : 4, 3.5 SP1

Windows 7, Windows Vista SP1 ou ultérieur, Windows XP SP3, Windows Server 2008 (installation minimale non prise en charge), Windows Server 2008 R2 (installation minimale prise en charge avec SP1 ou version ultérieure), Windows Server 2003 SP2

Le .NET Framework ne prend pas en charge toutes les versions de chaque plateforme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise du .NET Framework.
Tous les membres static (Shared en Visual Basic) publics de ce type sont thread-safe. Il n'est pas garanti que les membres d'instance soient thread-safe.
Cela vous a-t-il été utile ?
(1500 caractères restants)
Contenu de la communauté Ajouter
Annotations FAQ