Ergebnis 1 bis 8 von 8
-
entwickelt Apps
- 03.06.2012, 20:49
- #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
-
Gehöre zum Inventar
- 03.06.2012, 21: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.
-
entwickelt Apps
- 04.06.2012, 06:28
- #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.
-
Gehöre zum Inventar
- 04.06.2012, 09: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.
-
entwickelt Apps
- 04.06.2012, 11:47
- #5
M,h werd es wohl mal so versuchen. Ist vielleicht die bessere Lösung. =)
Danke vielmals.
-
entwickelt Apps
- 09.07.2012, 21:15
- #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; }
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; }
Danke und Gruss
-
Gehöre zum Inventar
- 10.07.2012, 06: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)
-
entwickelt Apps
- 10.07.2012, 07:48
- #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);
Gruss
Ähnliche Themen
-
Mail-Fotos speichern?
Von Ruth im Forum Sony Ericsson Xperia MiniAntworten: 1Letzter Beitrag: 09.04.2012, 10:39 -
Fotos automatisch auf SD Karte speichern
Von piaggioman im Forum HTC HD2 SonstigesAntworten: 0Letzter Beitrag: 09.10.2010, 13:44 -
Wallpaper speichern unter Fotos
Von moger im Forum HTC HeroAntworten: 0Letzter Beitrag: 09.08.2010, 16:26 -
Fotos wie speichern ?
Von Condro im Forum HTC LegendAntworten: 2Letzter Beitrag: 11.05.2010, 16:42 -
Problem mit Speichern von fotos auf Speicherkarte
Von andreas1 im Forum Samsung Omnia LiteAntworten: 0Letzter Beitrag: 30.03.2010, 23:28
Pixel 10 Serie mit Problemen:...