Exporter (0) Imprimer
Développer tout
Cet article a fait l'objet d'une traduction automatique. Déplacez votre pointeur sur les phrases de l'article pour voir la version originale de ce texte. Informations supplémentaires.
Traduction
Source

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.

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.

  NomDescription
Méthode publiqueDrawingBrush()Initialise une nouvelle instance de la classe DrawingBrush. Le pinceau résultant n'a aucun contenu.
Méthode publiqueDrawingBrush(Drawing)Initialise une nouvelle instance de la classe DrawingBrush qui contient le Drawing spécifié.
Début

  NomDescription
Propriété publiqueAlignmentXObtient ou définit l'alignement horizontal du contenu dans la mosaïque de base TileBrush. (Hérité de TileBrush.)
Propriété publiqueAlignmentYObtient ou définit l'alignement vertical du contenu TileBrush dans la mosaïque de base. (Hérité de TileBrush.)
Propriété publiqueCanFreezeObtient une valeur qui indique la possibilité ou non de rendre un objet non modifiable. (Hérité de Freezable.)
Propriété publiqueDependencyObjectTypeObtient le DependencyObjectType qui encapsule le type CLR de cette instance.  (Hérité de DependencyObject.)
Propriété publiqueDispatcherObtient le Dispatcher associé à DispatcherObject. (Hérité de DispatcherObject.)
Propriété publiqueDrawingObtient ou définit le Drawing qui décrit le contenu de ce DrawingBrush.
Propriété publiqueHasAnimatedPropertiesObtient 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é publiqueIsFrozenObtient une valeur qui indique si l'objet est actuellement modifiable ou pas. (Hérité de Freezable.)
Propriété publiqueIsSealedRécupère une valeur qui indique si cette instance est actuellement sealed (en lecture seule). (Hérité de DependencyObject.)
Propriété publiqueOpacity (Hérité de Brush.)
Propriété publiqueRelativeTransform (Hérité de Brush.)
Propriété publiqueStretchObtient ou définit une valeur qui spécifie comment le contenu de ce TileBrush s'étire pour s'ajuster à ses mosaïques. (Hérité de TileBrush.)
Propriété publiqueTileModeObtient 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é publiqueTransform (Hérité de Brush.)
Propriété publiqueViewboxObtient ou définit la position et les dimensions du contenu dans une mosaïque TileBrush. (Hérité de TileBrush.)
Propriété publiqueViewboxUnitsObtient 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é publiqueViewportObtient ou définit la position et les dimensions de la mosaïque de base pour un TileBrush. (Hérité de TileBrush.)
Propriété publiqueViewportUnitsObtient 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

  NomDescription
Méthode publiqueApplyAnimationClock(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 publiqueApplyAnimationClock(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 publiqueBeginAnimation(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 publiqueBeginAnimation(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 publiqueCheckAccessDétermine si le thread appelant a accès à ce DispatcherObject. (Hérité de DispatcherObject.)
Méthode publiqueClearValue(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 publiqueClearValue(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 publiqueCloneCré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 ressource et les liaisons de données (mais elles risquent de ne plus pouvoir se résoudre) mais pas les animations ou leurs valeurs actuelles.
Méthode publiqueCloneCurrentValueCré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 publiqueCoerceValueForce 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 publiqueEqualsDétermine si un DependencyObject fourni est équivalent au DependencyObject réel. (Hérité de DependencyObject.)
Méthode publiqueFreeze()Rend l'objet actuel non modifiable et définit sa propriété IsFrozen sur true. (Hérité de Freezable.)
Méthode publiqueGetAnimationBaseValueRetourne la valeur non animée de la propriété DependencyProperty spécifiée. (Hérité de Animatable.)
Méthode publiqueGetAsFrozenCré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 publiqueGetCurrentValueAsFrozenCré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 publiqueGetHashCodeObtient un code de hachage pour ce DependencyObject. (Hérité de DependencyObject.)
Méthode publiqueGetLocalValueEnumeratorCré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 publiqueGetTypeObtient le Type de l'instance actuelle. (Hérité de Object.)
Méthode publiqueGetValueRetourne la valeur effective actuelle d'une propriété de dépendance sur cette instance d'un DependencyObject. (Hérité de DependencyObject.)
Méthode publiqueInvalidatePropertyRéévalue la valeur effective pour la propriété de dépendance spécifiée (Hérité de DependencyObject.)
Méthode publiqueReadLocalValueRetourne la valeur de proximité d'une propriété de dépendance, si elle existe. (Hérité de DependencyObject.)
Méthode publiqueSetCurrentValueDéfinit la valeur d'une propriété de dépendance sans modifier sa source de valeur. (Hérité de DependencyObject.)
Méthode publiqueSetValue(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 publiqueSetValue(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éeShouldSerializePropertyRetourne 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 publiqueToString() (Hérité de Brush.)
Méthode publiqueToString(IFormatProvider) (Hérité de Brush.)
Méthode publiqueVerifyAccessGarantit que le thread appelant a accès à DispatcherObject. (Hérité de DispatcherObject.)
Début

  NomDescription
Événement publicChangedSe produit lorsque Freezable ou un objet qu'il contient est modifié. (Hérité de Freezable.)
Début

  NomDescription
Champ publicMembre statiqueDrawingPropertyIdentifie la propriété de dépendance Drawing.
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.

Cet exemple montre comment peindre une zone avec un dessin. Pour peindre une zone avec un dessin, utilisez un DrawingBrush et un ou plusieurs objets Drawing. L'exemple suivant utilise un DrawingBrush pour peindre un objet avec un dessin de deux 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>




Imports System.Windows.Media.Animation


Namespace Microsoft.Samples.DrawingBrushExamples
	''' <summary>
	''' Paints a Rectangle element with a DrawingBrush.
	''' </summary>
	Public Class DrawingBrushExample
		Inherits Page
		Public Sub New()
			Background = Brushes.White
			Dim mainPanel As New StackPanel()

			' Create a drawing of two ellipses.
			Dim aDrawing As New GeometryDrawing()

			' Use geometries to describe two overlapping ellipses.
			Dim ellipse1 As New EllipseGeometry()
			ellipse1.RadiusX = 20
			ellipse1.RadiusY = 45
			ellipse1.Center = New Point(50, 50)
			Dim ellipse2 As New EllipseGeometry()
			ellipse2.RadiusX = 45
			ellipse2.RadiusY = 20
			ellipse2.Center = New Point(50, 50)
			Dim ellipses As 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.
			Dim stroke As 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
			Dim myDrawingBrush As New DrawingBrush()
			myDrawingBrush.Drawing = aDrawing

			' Create a Rectangle element.
			Dim aRectangle As 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)

			Me.Content = mainPanel

		End Sub
	End Class
End Namespace




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;

        }
    }
}


Le résultat de cet exemple est illustrée ci-dessous.

Sortie d'un DrawingBrush

(Le centre de la forme est blanc pour les raisons décrites dans Comment : contrôler le remplissage d'une forme composite.)

En définissant les propriétés Viewport et TileMode d'un objet DrawingBrush, vous pouvez créer un motif répété. L'exemple suivant peint un objet avec un motif créé à partir d'un dessin de deux 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>




Imports System.Windows.Media.Animation


Namespace Microsoft.Samples.DrawingBrushExamples

	''' <summary>
	''' Paints a Rectangle element with a tiled DrawingBrush.
	''' </summary>
	Public Class TiledDrawingBrushExample
		Inherits Page

		Public Sub New()
			Background = Brushes.White
			Dim mainPanel As New StackPanel()

			' Create a drawing of two ellipses.
			Dim aDrawing As New GeometryDrawing()

			' Use geometries to describe two overlapping ellipses.
			Dim ellipse1 As New EllipseGeometry()
			ellipse1.RadiusX = 20
			ellipse1.RadiusY = 45
			ellipse1.Center = New Point(50, 50)
			Dim ellipse2 As New EllipseGeometry()
			ellipse2.RadiusX = 45
			ellipse2.RadiusY = 20
			ellipse2.Center = New Point(50, 50)
			Dim ellipses As 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.
			Dim stroke As 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
			Dim myDrawingBrush As 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.
			Dim aRectangle As 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)

			Me.Content = mainPanel

		End Sub

	End Class
End Namespace




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;

        }

    }
}


L'illustration suivante montre le résultat DrawingBrush en mosaïque.

Sortie en mosaïque d'un DrawingBrush

Pour plus d'informations sur les pinceaux de dessin, consultez Peinture avec des objets d'image, de dessin et visuels. Pour plus d'informations sur les objets Drawing, consultez Vue d'ensemble des objets Drawing.

.NET Framework

Pris en charge dans : 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0

.NET Framework Client Profile

Pris en charge dans : 4, 3.5 SP1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (rôle principal du serveur non pris en charge), Windows Server 2008 R2 (rôle principal du serveur pris en charge avec SP1 ou version ultérieure ; Itanium non pris en charge)

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.

Ajouts de la communauté

AJOUTER
Afficher:
© 2015 Microsoft