Konvertieren RenderTargetBitmap zu BitmapImage
Ich habe eine RenderTargetBitmap
muss ich es konvertieren zu BitmapImage
. Bitte überprüfen Sie den code unten.
RenderTargetBitmap bitMap = getRenderTargetBitmap();
Image image = new Image();//This is a Image
image.Source = bitMap;
In dem obigen code, den ich verwendet habe Bild.Jetzt muss ich verwenden ein BitmapImage. Wie kann ich dies tun?
RenderTargetBitmap bitMap = getRenderTargetBitmap();
BitmapImage image = new BitmapImage();//This is a BitmapImage
//how to set bitMap as source of BitmapImage ?
- Georges,ich brauche, um zu konvertieren das RenderTargetBitmap zu BitmapImage.
- Mögliche Duplikate von: RenderTargetBitmap zu BitmapImage in WPF
- etwas wie das : msdn.microsoft.com/en-us/library/aa969819.aspx
- Bitte erläutern Sie, warum genau Sie brauchen, um ein BitmapImage? RenderTargetBitmap und BitmapImage eine gemeinsame Basis-Klasse der BitmapSource, in dem alle die grundlegenden bitmap-Eigenschaften.
- MSDN: "BitmapImage in Erster Linie existiert, um zu unterstützen, Extensible Application Markup Language (XAML) - syntax und stellt zusätzliche Eigenschaften für das laden von Bitmaps, die nicht definiert sind durch die BitmapSource.". Tun Sie das denn wirklich nötig?
- Der Fragesteller erwähnt es nicht, aber Sie können nicht RenderTargetBitmap.Drehung Sie können aber BitmapImage.Rotation.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Obwohl es scheint nicht notwendig zu sein, zu konvertieren
RenderTargetBitmap
in eineBitmapImage
, könnte man problemlos codieren, dieRenderTargetBitmap
in eineMemoryStream
und decodieren derBitmapImage
aus, dass stream.Gibt es mehrere BitmapEncoders in WPF, der Beispielcode unten verwendet eine
PngBitmapEncoder
.BitmapCacheOption.OnLoad
eingestellt ist. Siehe Anmerkungen hier:Set the CacheOption to BitmapCacheOption.OnLoad if you wish to close a stream used to create the BitmapImage
. Und "es ist notwendig, wenn Sie eine Art und möchten, rufen Sie eine Methode oder Eigenschaft, die existiert nur in der anderen Art": sehr klar, aber OP hat nicht erwähnt, jede Besondere Verwendung ausdrücklich und nicht beantwortet meine Frage in Bezug auf diese.Sieht dies als eine einfachere Lösung.