Laden...

Drag drop / memory stream problem / dib (.NET 3.5 WPF)

Erstellt von CongoFX vor 16 Jahren Letzter Beitrag vor 16 Jahren 7.151 Views
CongoFX Themenstarter:in
63 Beiträge seit 2007
vor 16 Jahren
Drag drop / memory stream problem / dib (.NET 3.5 WPF)

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(

6.862 Beiträge seit 2003
vor 16 Jahren

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.

CongoFX Themenstarter:in
63 Beiträge seit 2007
vor 16 Jahren

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.

6.862 Beiträge seit 2003
vor 16 Jahren

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.

CongoFX Themenstarter:in
63 Beiträge seit 2007
vor 16 Jahren

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

CongoFX Themenstarter:in
63 Beiträge seit 2007
vor 16 Jahren

hat niemand eine Ahnung oder kennt niemand das Problem?