BitmapImage Class

Stellt den praktischen Objektquelltyp für die Image.Source-Eigenschaft und die ImageBrush.ImageSource-Eigenschaft bereit. Sie können ein BitmapImage definieren, indem Sie einen URI verwenden, der auf eine Bildquelldatei verweist, oder indem Sie SetSourceAsync aufrufen und einen Stream bereitstellen.

Vererbung

Object
  DependencyObject
    ImageSource
      BitmapSource
        BitmapImage

Syntax


public sealed class BitmapImage : BitmapSource

Attribute

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

Member

BitmapImageKlasse hat diese Membertypen:

Konstruktoren

BitmapImageKlasse hat diese Konstruktoren.

KonstruktorBeschreibung
BitmapImage() Initializes a new instance of the BitmapImage class.
BitmapImage(Uri) Initializes a new instance of the BitmapImage class, using the supplied Uniform Resource Identifier (URI).

 

Ereignisse

BitmapImageKlasse hat diese Ereignisse.

EreignisBeschreibung
DownloadProgress Occurs when a significant change has occurred in the download progress of the BitmapImage content.
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 BitmapImage 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)
SetSource Sets the source image for a BitmapSource by accessing a stream. Most callers should use SetSourceAsync instead. (Geerbt von BitmapSource)
SetSourceAsync Sets the source image for a BitmapSource by accessing a stream and processing the result asynchronously. (Geerbt von BitmapSource)
SetValue Sets the local value of a dependency property on a DependencyObject. (Geerbt von DependencyObject)

 

Eigenschaften

Der BitmapImageKlasse hat diese Eigenschaften.

EigenschaftZugriffstypBeschreibung

CreateOptions

Lese-/SchreibzugriffGets or sets the BitmapCreateOptions for a BitmapImage.

CreateOptionsProperty

SchreibgeschütztIdentifies the CreateOptions dependency property.

DecodePixelHeight

Lese-/SchreibzugriffGets or sets the height to use for image decoding operations.

DecodePixelHeightProperty

SchreibgeschütztIdentifies the DecodePixelHeight dependency property.

DecodePixelType

Lese-/SchreibzugriffGets or sets a value that determines how DecodePixelWidth and DecodePixelHeight values are interpreted for decoding operations.

DecodePixelTypeProperty

SchreibgeschütztIdentifies the DecodePixelType dependency property.

DecodePixelWidth

Lese-/SchreibzugriffGets or sets the width to use for image decoding operations.

DecodePixelWidthProperty

SchreibgeschütztIdentifies the DecodePixelWidth dependency property.

Dispatcher

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

PixelHeight

SchreibgeschütztGets the height of the bitmap in pixels. (Geerbt von BitmapSource)

PixelWidth

SchreibgeschütztGets the width of the bitmap in pixels. (Geerbt von BitmapSource)

UriSource

Lese-/SchreibzugriffGets or sets the Uniform Resource Identifier (URI) of the graphics source file that generated this BitmapImage.

UriSourceProperty

SchreibgeschütztIdentifies the UriSource dependency property.

 

Hinweise

Ein BitmapImage kann aus diesen Bilddateiformaten stammen:

  • JPEG (Joint Photographic Experts Group)
  • PNG (Portable Network Graphics)
  • Bitmap (BMP)
  • GIF (Graphics Interchange Format)
  • Tagged Image File Format (TIFF)
  • JPEG XR
  • Symbole (ICO)

Wenn die Bildquelle ein Stream ist, wird erwartet, dass der Stream eine Bilddatei in einem dieser Formate enthält.

Die BitmapImage-Klasse stellt eine Abstraktion dar, damit eine Bildquelle zwar asynchron festgelegt, aber im XAML-Markup noch als Eigenschaftswert referenziert werden kann, oder in Code als ein Objekt, das keine Awaitable-Syntax verwendet. Wenn Sie ein BitmapImage-Objekt im Code erstellen, hat es zunächst keine gültige Quelle. Sie sollten dann seine Quelle mit einem dieser Verfahren festlegen:

  • Verwenden Sie den BitmapImage(Uri)-Konstruktor anstelle des Standardkonstruktors. Obwohl es ein Konstruktor ist, können Sie sich diesen mit einem impliziten asynchronen Verhalten vorstellen: BitmapImage ist nicht zur Verwendung bereit, bis ein ImageOpened-Ereignis ausgelöst wird, das einen erfolgreichen asynchronen Vorgang zum Festlegen der Quelle angibt.
  • Legen Sie die Eigenschaft UriSource fest. Wie bei Verwendung des Uri-Konstruktors ist diese Aktion implizit asynchron, und BitmapImage ist so lange nicht einsatzbereit, bis ein ImageOpened-Ereignis ausgelöst wird.
  • Verwenden Sie SetSourceAsync. Diese Methode ist explizit asynchron.

Die Eigenschaften, bei denen Sie möglicherweise ein BitmapImage, wie Image.Source, verwenden, sind für dieses asynchrone Verhalten vorgesehen und werden keine Ausnahmen auslösen, wenn sie mit einem BitmapImage festgelegt werden, das noch keine vollständige Quelle hat. Statt Ausnahmen zu behandeln, sollten Sie ImageOpened- oder ImageFailed-Ereignisse entweder direkt im BitmapImage oder im Steuerelement behandeln, das die Quelle verwendet (wenn diese Ereignisse in der Steuerelementklasse verfügbar sind).

ImageFailed und ImageOpened schließen einander aus. Eines der Ereignisse wird immer ausgelöst, wenn der Quellwert eines BitmapImage-Objekts eingestellt oder zurückgesetzt wird.

BitmapImage und Codierung

Die zugrunde liegende Codecunterstützung für Bilddateien wird durch die WIC-API (Windows Imaging Component, Windows-Bilderstellungskomponente) in Windows 8 bereitgestellt. Weitere Informationen zu bestimmten Bildformaten, wie für die Codecs dokumentiert, finden Sie im Artikel zu den systemeigenen WIC-Codecs. Weitere Informationen zu Formaten und zum Verwenden von URIs (Uniform Resource Identifier) für den Zugriff auf Bildquelldateien, die aus App-Ressourcen stammen, finden Sie unter Schnellstart: Image und ImageBrush.

Die API für Image, BitmapImage und BitmapSource schließt keine dedizierten Methoden zum Codieren und Decodieren von Medienformaten ein. Alle Codierungs- und Decodierungsvorgänge sind integriert und stellen Codierungs- oder Decodierungsaspekte höchstens als Teil von Ereignisdaten für Ladeereignisse bereit. Zur Ausführung spezieller Bildcodierungen oder Bilddecodierungen, die erforderlich sein können, wenn Ihre App Bilder umwandelt oder manipuliert, stehen die APIs im Namespace Windows.Graphics.Imaging zur Verfügung. Die Imaging-APIs können entweder von den mit C++, C# oder Visual Basic erstellten Windows Store-Apps oder von den mit JavaScript erstellten Windows Store-Apps verwendet werden. Die APIs werden auch von der WIC-Komponente von Windows 8 unterstützt.

Beispiele

Im Folgenden findet sich ein Beispiel für die Verwendung eines BitmapImage-Objekts, um Image.Source in C# festzulegen. In diesem Beispiel wurde das Image-Objekt in XAML erstellt, verfügt jedoch nicht über eine Quelle oder andere Eigenschaftswerte. Stattdessen werden diese Werte zur Laufzeit bereitgestellt, wenn Image von XAML geladen wird.


void Image_Loaded(object sender, RoutedEventArgs e)
{
    Image img = sender as Image; 
    BitmapImage bitmapImage = new BitmapImage();
    img.Width = bitmapImage.DecodePixelWidth = 80; //natural px width of image source
    // don't need to set Height, system maintains aspect ratio, and calculates the other
    // dimension, so long as one dimension measurement is provided
    bitmapImage.UriSource = new Uri(img.BaseUri,"Images/myimage.png");
}

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.Imaging
Windows::UI::Xaml::Media::Imaging [C++]

Metadaten

Windows.winmd

Siehe auch

Image
BitmapSource
Image.Source
ImageBrush.ImageSource
Schnellstart: Image und ImageBrush

 

 

Anzeigen:
© 2014 Microsoft