ImageBrush Class

Zeichnet einen Bereich mit einem Bild. Die Bildquelle wird in der Regel solchen Dateiformaten wie JPEG entnommen.

Vererbung

Object
  DependencyObject
    Brush
      TileBrush
        ImageBrush

Syntax


public sealed class ImageBrush : TileBrush

Attribute

[MarshalingBehavior(Agile)]
[Threading(Both)]
[Version(0x06020000)]
[WebHostHidden()]

Member

ImageBrushKlasse hat diese Membertypen:

Konstruktoren

ImageBrushKlasse hat diese Konstruktoren.

KonstruktorBeschreibung
ImageBrush Initializes a new instance of the ImageBrush class.

 

Ereignisse

ImageBrushKlasse hat diese Ereignisse.

EreignisBeschreibung
ImageFailed Occurs when there is an error associated with image retrieval or format.
ImageOpened Occurs when the image source is downloaded and decoded with no failure. You can use this event to determine the size of an image before rendering it.

 

Methoden

The ImageBrush Klasse hat diese Methoden. Es erbt auch Methoden von Object Klasse.

MethodeBeschreibung
ClearValue Clears the local value of a dependency property. (Geerbt von DependencyObject)
GetAnimationBaseValue Returns any base value established for a dependency property, which would apply in cases where an animation is not active. (Geerbt von DependencyObject)
GetValue Returns the current effective value of a dependency property from a DependencyObject. (Geerbt von DependencyObject)
ReadLocalValue Returns the local value of a dependency property, if a local value is set. (Geerbt von DependencyObject)
SetValue Sets the local value of a dependency property on a DependencyObject. (Geerbt von DependencyObject)

 

Eigenschaften

Der ImageBrushKlasse hat diese Eigenschaften.

EigenschaftZugriffstypBeschreibung

AlignmentX

Lese-/SchreibzugriffGets or sets the horizontal alignment of content in the TileBrush base tile. (Geerbt von TileBrush)

AlignmentY

Lese-/SchreibzugriffGets or sets the vertical alignment of content in the TileBrush base tile. (Geerbt von TileBrush)

Dispatcher

SchreibgeschütztGets the CoreDispatcher that this object is associated with. (Geerbt von DependencyObject)

ImageSource

Lese-/SchreibzugriffGets or sets the image source displayed by this ImageBrush. In code you set this with an ImageSource subclass instance, in XAML you set this with a URI to an image source file.

ImageSourceProperty

SchreibgeschütztIdentifies the ImageSource dependency property.

Opacity

Lese-/SchreibzugriffGets or sets the degree of opacity of a Brush. (Geerbt von Brush)

RelativeTransform

Lese-/SchreibzugriffGets or sets the transformation that is applied to the brush using relative coordinates. (Geerbt von Brush)

Stretch

Lese-/SchreibzugriffGets or sets a value that specifies how the content of this TileBrush stretches to fit its tiles. (Geerbt von TileBrush)

Transform

Lese-/SchreibzugriffGets or sets the transformation that is applied to the brush. (Geerbt von Brush)

 

Hinweise

Ein ImageBrush ist ein TileBrush-Typ, der seinen Inhalt als Bild definiert. Sie können steuern, wie das Bild gestreckt, angeordnet und gekachelt wird. Auf diese Weise können Sie Muster und andere Effekte erstellen. Verwendungsweisen für eine ImageBrush umfassen dekorative Effekte für Text oder gekachelte Hintergründe bzw. Layoutcontainer.

Wenn Sie ImageBrush im Code definieren, verwenden Sie den Standardkonstruktor, und legen Sie dann ImageBrush.ImageSource fest. Dafür ist ein BitmapImage (kein URI) im Code erforderlich. Wenn die Quelle ein Stream ist, verwenden Sie die SetSourceAsync-Methode, um den Wert zu initialisieren. Wenn die Quelle ein Uniform Resource Identifier (URI) ist, der App-Inhalt enthält, welcher die ms-appx- oder die ms-resource-Schemas verwendet, verwenden Sie den BitmapImage-Konstruktor, der einen URI annimmt. Sie könnten auch das ImageOpened-Ereignis behandeln, wenn Zeitprobleme beim Abrufen oder Decodieren der Bildquelle auftreten und möglicherweise Alternativinhalte benötigt werden, die bis zur Verfügbarkeit der Bildquelle angezeigt werden. Beispielcode finden Sie im Beispiel zu XAML-Bildern.

Hinweis  Sie können die automatische Behandlung für den Zugriff auf nicht qualifizierte Ressourcen mit aktuellen Skalierungs- und Kulturqualifizierern oder die ResourceManager-Qualifizierer und ResourceMap-Qualifizierer für Kultur und Skalierung verwenden, um die Ressourcen direkt zu erhalten. Weitere Informationen finden Sie unter Ressourcenverwaltungssystem.

Die Stretch-Eigenschaft ist wichtig, um festzulegen, wie das Image angewendet wird, wenn es als Pinsel verwendet wird. Einige Bilder sehen gut aus, wenn sie in Anwendung auf eine bestimmte Brush-Eigenschaft mit dem Fill-Verhalten gestreckt werden. Andere Bilder wiederum, lassen sich nicht gut strecken oder skalieren und benötigen möglicherweise einen Wert von None oder von Uniform für Stretch. Darüber hinaus sind auch einige Bilder fürs Kacheln entworfen und andere wiederum nicht. Experimentieren Sie mit verschiedenen Werten für die Stretch-Eigenschaft, um festzustellen, welches Verhalten am besten wirkt, wenn dieses auf die UI angewendet wird.

Imagequellen und -Skalierung

Sie sollten die Imagequellen in mehreren empfohlenen Größen erstellen, um sicherzustellen, dass die App bei der Skalierung durch Windows 8 ein gutes Erscheinungsbild hat. Wenn Sie eine ImageSource für ein ImageBrush angeben, können Sie eine Namenskonvention verwenden, die automatisch auf die richtige Ressource für die aktuelle Skalierung verweist. Einzelheiten zur Namenskonvention und weitere Informationen finden Sie unter Schnellstart: Verwenden von Datei- oder Imageressourcen.

Weitere Informationen dazu, wie eine Skalierung entworfen wird, finden Sie unter Richtlinien für die Skalierung zur Pixeldichte.

Windows 8-Verhalten

Windows 8 hatte ein Problem mit der ImageSource-Auflösung von einem XAML-Attribut des URI-Werts, wenn ImageBrush zu einem XAML-Stil oder einer Vorlage gehörte, die auf ein Steuerelement angewendet wird. Die Steuerelementverwendung verwendet manchmal einen komponentenspezifischen Basis-URI anstatt eines entsprechenden Basis-URI für den Stil oder die Vorlage, der normalerweise von der App stammt. Das Problem wurde ab Windows 8.1 behoben; der Basis-URI wird ordnungsgemäß für App-Ressourcen oder Komponentenressourcen bestimmt, und zwar je nach Bereich, der den Basis-URI erfordert. Apps, die für Windows 8 kompiliert wurden, haben möglicherweise Lösungen zum Umgehen dieses Verhalten verwendet, indem deren Bildquelldateien an der "falschen" Stelle abgelegt wurden, wo der XAML-URI aufgelöst wird und die App die Bilder anzeigt. Wenn Sie den XAML-Code von Windows 8 in Windows 8.1 migrieren, sollten Sie jede ImageBrush-Verwendung in einem Stil oder einer Vorlage des XAML-Markups testen und überprüfen, ob die Bildauflösung in Ihrer App mit Windows 8.1 funktioniert. Wenn Sie ein Problem haben, sollten Sie die Bildquelldateien im Paket so verschieben, dass sie im richtigen Ressourcenbereich für das neue Verhalten liegen.

Apps, die für Windows 8 kompiliert wurden, jedoch unter Windows 8.1 ausgeführt werden, verwenden weiterhin das Windows 8-Verhalten.

Beispiele

In diesem XAML-Beispiel wird veranschaulicht, wie die Foreground-Eigenschaft von einem TextBlock auf einen ImageBrush festgelegt wird, dessen Bild als Füllbereich für den gerenderten Text von TextBlock verwendet wird.


<!-- 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>


Diese Abbildung zeigt die Ergebnisse dieses XAML-Beispiels an.

Ein auf Text angewendetes ImageBrush

Anforderungen

Mindestens unterstützter Client

Windows 8 [Nur Windows Store-Apps]

Mindestens unterstützter Server

Windows Server 2012 [Nur Windows Store-Apps]

Namespace

Windows.UI.Xaml.Media
Windows::UI::Xaml::Media [C++]

Metadaten

Windows.winmd

Siehe auch

TileBrush
Image
Schnellstart: Image und ImageBrush
Vektorbasiertes XAML-Zeichnungsbeispiel (siehe Szenario 2)

 

 

Anzeigen:
© 2014 Microsoft