Laden...

System.AddIn und BitmapImage

Erstellt von dennisspohr vor 13 Jahren Letzter Beitrag vor 13 Jahren 914 Views
dennisspohr Themenstarter:in
420 Beiträge seit 2007
vor 13 Jahren
System.AddIn und BitmapImage

Hallo zusammen,

ich bin gerade dabei ein kleines Bildbearbeitungsprogramm zu entwickeln, welches sich durch AddIns erweitern lassen soll. Hier sollen den AddIns nacheinander das entsprechende BitmapImage übergeben werden, welche dieses dann bearbeitet können. (Stapelprozess)

Ich benutze System.AddIn. Das Problem: Ich kann das BitmapImage leider nicht übergeben, dass dieses nicht serialisierbar ist. (Es wird ein Fehler geworfen)

Wegen der Performance wäre es sehr schlecht, wenn jedes AddIn das Bild öffnen, bearbeiten und wieder speichern müsste.

Gibt es irgendwie eine Möglichkeit, das BitmapImage zu übergeben?

Velen Dank für eure Hilfe.

Grüße
Dennis

C
116 Beiträge seit 2004
vor 13 Jahren

Evtl. kannst du das für deinen Fall umschreiben:
Walkthrough: Passing Collections Between Hosts and Add-Ins

Was auch gehen würde, hängt natürlich stark von der Größe des Bildes ab, das ganze als MemoryStream zu übertragen.

3.971 Beiträge seit 2006
vor 13 Jahren

MemoryStream ist nur der Ursprung des Bildes. Das Bild liegt dann quasi auch zweimal im Speicher (einmal MemoryStream und einem Bild-Instanz)

Was du allerdings machen kannst, das Bild manuell mittels WinAPI öffnen und jeder AppDomain das Handle mitteilen und davon dann eine Bitmap-Instanz oder in deinem Fall BitmapImage zu holen. Solltest dir aber ganz genau überlegen, an welcher Stelle du das Handle wieder zerstörst.

Es gibt 3 Arten von Menschen, die die bis 3 zählen können und die, die es nicht können...

V
162 Beiträge seit 2010
vor 13 Jahren

Schon mal über MEF nachgedacht?
Das ist eine erneuerund der System.Addin .

In meinem Programm selber lade ich über Reflection eine Klasse.
An diese kann ich alles Übergeben.

Für Net-Remoting hab ich ein Bild Serialisieren müssen.
Ich wandel das Bild in eine Byte-Array um. Dieser ist dann Serialisier bar.
Das Funktioniert genauso wie man ein Bild in einem Blob in einer SQL DB speichert.

MfG
Björn

Das Leben ist schön!

dennisspohr Themenstarter:in
420 Beiträge seit 2007
vor 13 Jahren

Hallo zusammen,

vielen Dank für eure Antworten.

MEF kannte ich bisher noch nicht. Klingt sehr interessant und vielversprechend, werde mir das mal genauer anschauen. Danke für den Tipp.

Grüße
Dennis