Freigeben über


So geht's: Verwenden des Bildelements

In diesem Beispiel wird gezeigt, wie Bilder in eine Anwendung mithilfe des Image-Elements eingeschlossen werden.

Definieren eines Bilds

Das folgende Beispiel zeigt, wie ein Bild 200 Pixel breit gerendert wird. In diesem XAML-Beispiel (Extensible Application Markup Language) werden sowohl Attributsyntax als auch Eigenschaftstagssyntax verwendet, um das Bild zu definieren. Weitere Informationen über Attributsyntax und Eigenschaftensyntax finden Sie unter Übersicht über Abhängigkeitseigenschaften. BitmapImage wird zum Definieren der Quelldaten des Bilds verwendet und für das Beispiel der Syntax von Eigenschaftstags explizit definiert. Darüber hinaus wird DecodePixelWidth von BitmapImage auf die gleiche Breite wie Width von Image gesetzt. Dies geschieht, um sicherzustellen, dass die minimale Arbeitsspeichermenge zum Rendern des Bilds verwendet wird.

Hinweis

Wenn Sie die Größe eines gerenderten Bilds angeben möchten, geben Sie im Allgemeinen nur die Width oder die Height an, aber nicht beides. Wenn Sie nur ein Element angeben, wird das Seitenverhältnis des Bilds beibehalten. Andernfalls wird das Bild möglicherweise unerwartet gestreckt oder verzerrt. Verwenden Sie zum Steuern des Dehnungsverhaltens des Bilds die eigenschaften Stretch und StretchDirection.

Hinweis

Wenn Sie die Größe eines Bilds mit Width oder Heightangeben, sollten Sie auch entweder DecodePixelWidth oder DecodePixelHeight auf die gleiche Größe festlegen.

Die Stretch-Eigenschaft bestimmt, wie die Bildquelle gestreckt wird, um das Image-Element auszufüllen. Weitere Informationen finden Sie unter der Stretch-Enumeration.

<!-- Simple image rendering. However, rendering an image this way may not
     result in the best use of application memory. See markup below which
     creates the same end result but using less memory. -->
<Image Width="200" 
Source="C:\Documents and Settings\All Users\Documents\My Pictures\Sample Pictures\Water Lilies.jpg"/>

<Image Width="200">
  <Image.Source>
    <!-- To save significant application memory, set the DecodePixelWidth or  
     DecodePixelHeight of the BitmapImage value of the image source to the desired 
     height and width of the rendered image. If you don't do this, the application will 
     cache the image as though it were rendered as its normal size rather than just 
     the size that is displayed. -->
    <!-- Note: In order to preserve aspect ratio, only set either DecodePixelWidth
         or DecodePixelHeight but not both. -->
    <BitmapImage DecodePixelWidth="200"  
     UriSource="C:\Documents and Settings\All Users\Documents\My Pictures\Sample Pictures\Water Lilies.jpg" />
  </Image.Source>
</Image>

Rendern eines Bilds

Das folgende Beispiel zeigt, wie ein Bild mit Code 200 Pixel breit gerendert wird.

Hinweis

Das Festlegen von BitmapImage-Eigenschaften muss innerhalb eines BeginInit- und EndInit-Blocks erfolgen.

// Create Image Element
Image myImage = new Image();
myImage.Width = 200;

// Create source
BitmapImage myBitmapImage = new BitmapImage();

// BitmapImage.UriSource must be in a BeginInit/EndInit block
myBitmapImage.BeginInit();
myBitmapImage.UriSource = new Uri(@"C:\Documents and Settings\All Users\Documents\My Pictures\Sample Pictures\Water Lilies.jpg");

// To save significant application memory, set the DecodePixelWidth or
// DecodePixelHeight of the BitmapImage value of the image source to the desired
// height or width of the rendered image. If you don't do this, the application will
// cache the image as though it were rendered as its normal size rather than just
// the size that is displayed.
// Note: In order to preserve aspect ratio, set DecodePixelWidth
// or DecodePixelHeight but not both.
myBitmapImage.DecodePixelWidth = 200;
myBitmapImage.EndInit();
//set image source
myImage.Source = myBitmapImage;
' Create Image Element
Dim myImage As New Image()
myImage.Width = 200

' Create source
Dim myBitmapImage As New BitmapImage()

' BitmapImage.UriSource must be in a BeginInit/EndInit block
myBitmapImage.BeginInit()
myBitmapImage.UriSource = New Uri("C:\Documents and Settings\All Users\Documents\My Pictures\Sample Pictures\Water Lilies.jpg")

' To save significant application memory, set the DecodePixelWidth or  
' DecodePixelHeight of the BitmapImage value of the image source to the desired 
' height or width of the rendered image. If you don't do this, the application will 
' cache the image as though it were rendered as its normal size rather than just 
' the size that is displayed.
' Note: In order to preserve aspect ratio, set DecodePixelWidth
' or DecodePixelHeight but not both.
myBitmapImage.DecodePixelWidth = 200
myBitmapImage.EndInit()
'set image source
myImage.Source = myBitmapImage

Siehe auch