Fotos aus Control speichern Fotos aus Control speichern
Ergebnis 1 bis 8 von 8
  1. Hallo Zusammen

    Ich versuche gerade ein Bild aus einem Image Control in den Isolated Storage zu speichern. Jedoch bekomme ich es nicht gerade nicht so recht hin. wenn ich die Zuweisung über (BitmapImage) ImageControl.Source Versuche zu konvertieren kommt beim ausführen jeweils ein Fehler.
    Kann mir irgendjemand weiterhelfen?

    Gruss
    Nemoc
    0
     

  2. 03.06.2012, 22:22
    #2
    Was kommt denn genau für eine Exception (also die genaue Fehlermeldung). Ist da evtl. kein BitmapImage die Source sondern etwas anderes? Als Workaround könntest du theoretisch das Control in ein WritableBitmap rendern lassen und das dann speichern - ist zwar etwas ein Hack aber sollte zur Not klappen.
    0
     

  3. Also mit folgender Zeile Code:
    Collection.Bild = (BitmapImage) imageControl.Source;

    kam folgenden Fehlermeldung:
    Type 'System.Windows.Media.ImageSource' cannot be serialized. Consider marking it with the DataContractAttribute attribute, and marking all of its members you want serialized with the DataMemberAttribute attribute.

    Collection.Bild hat den Typ BitmapImage. Selbes verhalten respektive Fehlermeldung kommt jedoch auch wenn ich den Typ ImageSource verwende.

    Einen Ansatz den ich noch gefunden habe wäre die Source aus dem Image Controll in ein WriteableBitmap zu konvertieren und dann du speichern. Dies wäre Grundsätzlcih über die bmp.SaveJpeg() Methode möglich welche einen Stream zurückgibt. Jedoch habe ich hier noch keine Möglichkeit gefunden um dies in die IsolatedStorageSettings zu speichern, sondern nur über den Stream in eine Datei.
    0
     

  4. 04.06.2012, 10:31
    #4
    Du könntest theoretisch mit SaveJpeg in einen MemoryStream speichern und dir dann mit der ToArray()-Methode daraus ein Byte-Array machen. Das sollte sich in die Settings legen lassen. Am Rückweg halt dann einen MemoryStream aus dem Byte-Array erstellen und das dann mit der Image-Source auslesen.

    Ob es aber generell so eine gute Idee ist große Datenmengen wie Bilder direkt in der IsolatedStorage abzulegen ist allerdings eine andere Frage. Evtl. wäre es besser das doch in ein File zu schreiben und dann halt den Dateinamen (z.B. eine GUID) in der Datenstruktur im IsolatedStorage zu haben.
    1
     

  5. M,h werd es wohl mal so versuchen. Ist vielleicht die bessere Lösung. =)

    Danke vielmals.
    0
     

  6. Habe doch nochmal ein Problem. Habe ein Bild über folgenden Code in den Isolated Storage gespeichert:

    Code:
            public byte[] EncodeToJpeg(WriteableBitmap wb)
            {
                using (MemoryStream stream = new MemoryStream())
                {
                    wb.SaveJpeg(stream, wb.PixelWidth, wb.PixelHeight, 0, 98);
                    return stream.ToArray();
                }
            }
    
    
            public string AddImage(WriteableBitmap image)
            {
                string BildGuid = String.Empty;
    
                try
                {
                    PhotoHelper photoHelperClass = new PhotoHelper();
                    BildGuid = Guid.NewGuid().ToString();
    
                    photoHelperClass.PhotoDateiPfadAnlegen();
    
                    //Bilder speichern
                    IsolatedStorageFile file = IsolatedStorageFile.GetUserStoreForApplication();
                    IsolatedStorageFileStream filestream = file.CreateFile("images/" + BildGuid + ".jpg");
                    byte[] stream = photoHelperClass.EncodeToJpeg(image);
                    filestream.Write(stream, 0, stream.Length);
                    filestream.Flush();
                    filestream.Close();
                }
                catch(Exception ex)
                {
     
                }
                return BildGuid;
            }
    Nun habe ich das wieder über den Filestream versucht auszulesen. Dabei war der vielversprechendste Versuch folgendes:

    Code:
            public WriteableBitmap LoadImage(string BildGuid)
            {
                try
                {
                    IsolatedStorageFile file = IsolatedStorageFile.GetUserStoreForApplication();
                    IsolatedStorageFileStream filestream = file.CreateFile("images/" + BildGuid + ".jpg");
    
                    // Decode the JPEG stream.
                    WriteableBitmap myBitmap = PictureDecoder.DecodeJpeg(filestream);
    
                    return myBitmap;
                }
                catch (Exception ex)
                {
                }
    
                return null;
            }
    Jedoch kommt hier die Fehlermeldung "Falscher Parameter". Kann mir jemand sagen was ich falsch mache, respektive hat eine andere Idee wie ich die Datei wieder in ein WriteableBitmap kriege?

    Danke und Gruss
    0
     

  7. 10.07.2012, 07:26
    #7
    Du kannst ein File zum Lesen nicht mit "CreateFile" öffnen... Das gibt es dann ja schon und damit dürfte dann wohl das Create fehlschlagen.

    Stattdessen dürfte sich das empfehlen: f.OpenFile(path, System.IO.FileMode.Open, System.IO.FileAccess.Read)
    1
     

  8. Menschenskinder, der ist mehr als nur ein bisschen peinlich. Mit dem richten Modus klappts dann auch Problemlos...

    Code:
    IsolatedStorageFileStream filestream = file.OpenFile("images/" + BildGuid + ".jpg", FileMode.Open);
    Danke für den Hint =)

    Gruss
    0
     

Ähnliche Themen

  1. Mail-Fotos speichern?
    Von Ruth im Forum Sony Ericsson Xperia Mini
    Antworten: 1
    Letzter Beitrag: 09.04.2012, 11:39
  2. Fotos automatisch auf SD Karte speichern
    Von piaggioman im Forum HTC HD2 Sonstiges
    Antworten: 0
    Letzter Beitrag: 09.10.2010, 14:44
  3. Wallpaper speichern unter Fotos
    Von moger im Forum HTC Hero
    Antworten: 0
    Letzter Beitrag: 09.08.2010, 17:26
  4. Fotos wie speichern ?
    Von Condro im Forum HTC Legend
    Antworten: 2
    Letzter Beitrag: 11.05.2010, 17:42
  5. Problem mit Speichern von fotos auf Speicherkarte
    Von andreas1 im Forum Samsung Omnia Lite
    Antworten: 0
    Letzter Beitrag: 31.03.2010, 00:28

Besucher haben diese Seite mit folgenden Suchbegriffen gefunden:

windows phone 7 steuerelemente Speichern

wp7 imagecontrol get source

system.windows.media.imagesource cannot be serialized. consider marking it with the datacontractattribute attribute and marking all of its members you want serialized with the datamemberattribute attribute. in wp7

winphone 7

htc titan bilder mail speichern

system.windows.media.imagesource cannot be serialized. consider marking it with the datacontractattribute

wp7 image source

samsung omnia 7 bilder auslesen

wp7 email speichern jpg

writeableBitmap

bild-guid

htc titan notes sichern

wp7 bilder speichern

wo speichert winpohe eigene Aufnahmen

get byte array from image control wp7 source

bilder speichern unter windows phone 7

wp7 image control bild auslesen

coverbild auslesen wp7

wo speichert win phon bilder ab

windows phone source auslesen

mail imagesourceit.com loc:CH

Stichworte