Hallo Leute,
habe heute mal mit Drag and Drop rumgespielt und versuche mit drag and drop ein bild aus z.B. einem Graphikprogramm wie Fireworks in eine .NET 3.5 WPF application zu importieren.
Drag and drop funktioniert fein und habe ein kleine Methode welche mir das device independent bitmap als BitmapImage zurück liefern soll.
Das ganze sieht so aus:
Der MemoryStream aus dem Drop:
MemoryStream MStream = DropDataObject.GetData(DataFormats.Dib, true) as MemoryStream;
... dann der Aufruf der Methode:
CreateBitmapImageFromStream(MStream);
... welche so aussieht:
public BitmapImage CreateBitmapImageFromStream(MemoryStreamstream)
{
BitmapImage bitmapImage = new BitmapImage();
bitmapImage.BeginInit();
bitmapImage.StreamSource = stream;
bitmapImage.EndInit(); // <--- Hier knallts
return bitmapImage;
}
Da schepperts immer:
**
System.NotSupportedException, Es wurde keine passende Imagingkomponente zum Abschließen dieses Vorgangs gefunden.**
Englische Version:
**
No imaging component suitable to complete this operation was found.**
Habe mich schon tot gegoogelt, wer kann helfen? X(
Da du es ja eh in ein Bitmap schieben willst, warum holst du dir nicht gleich das DIB als Bitmap aus der Zwischenablage. Nen GetData (DataFormats.Bitmap, true); sollts tun. Der zweite Parameter gibt doch grad an dass er das automatisch konvertieren soll in ne Bitmap.
Baka wa shinanakya naoranai.
Mein XING Profil.
Hi talla,
vielen Dank für Deinen Post, natürlich habe ich schon alle möglichen work arounds ausprobiert, darunter auch Deine.
Sobald ich DataFormats.Bitmap benutze, bekomme ich null geliefert, der StreamSource ist dann also auch null.
Naja, wenn du ein Bitmap anforderst, bekommst du natürlich auch keinen Stream, deshalb schlägt das casten mit as fehl und gibt dir null zurück.
Baka wa shinanakya naoranai.
Mein XING Profil.
Hi talla,
danke für die schnelle Antwort, ich hatte mich wahrscheinlich falsch ausgedrückt, die Anwendung von z.B.:
System.Drawing.Bitmap bitmap = (System.Drawing.Bitmap)DropDataObject.GetData(DataFormats.Bitmap, true)
liefert null - ich bekomme drag and drop bitmaps aus anderen applications also wahrscheinlich nur als device independent bitmap ...