Ergebnis 1 bis 4 von 4
-
Mich gibt's schon länger
- 28.07.2012, 19:19
- #1
Hallo,
habe soeben auf der Suche nach einer Lösung für mein Problem folgendes gefunden:
Code:public void SavePhoto(string istrImagePath) { BitmapImage objImage = new BitmapImage(new Uri(istrImagePath, UriKind.RelativeOrAbsolute)); objImage.DownloadCompleted += objImage_DownloadCompleted; } private void objImage_DownloadCompleted(object sender, EventArgs e) { JpegBitmapEncoder encoder = new JpegBitmapEncoder(); Guid photoID = System.Guid.NewGuid(); String photolocation = photoID.ToString() + ".jpg"; //file name encoder.Frames.Add(BitmapFrame.Create((BitmapImage)sender)); using (var filestream = new FileStream(photolocation, FileMode.Create)) encoder.Save(filestream); }
In meinem Model ist eine Property die die URL zum Bild bereithält. Wird das Bild von der View benötigt soll dieses in den IsolatedStorage geladen werden und gleichzeitig im View (Image Feld) angezeigt werden. Beim nächsten Aufruf des gleichen Datensatzes soll im Isolated Storage überprüfr werden ob bereits das Bild vorhanden ist und wenn ja dann soll es aus dem IsoStore geladen werden.
Mir fehlt jetzt das das Event "DownloadCompleted" für "BitmapImage" da ich ja sonst nicht weiss wann ich das ganze mit WriteableBitmap abspeichern kann. Gibt es das Event für Windows Phone nicht? Wenn nein, wie kann man es dann am geschicktesten lösen?
MfG Johann Löwen
-
entwickelt Apps
- 28.07.2012, 23:54
- #2
Warum solltest du für den Isolated Storage einen asyncronen Aufruf verwenden? Das geht doch direkt viel einfacher
Mit der kostenlosen PocketPC.ch App von meinem LG-E900 aus geschrieben.
-
entwickelt Apps
- 29.07.2012, 13:41
- #3
Weil man, wenn irgendetwas länger ams 50ms dauert es im Hintergrund ausführen soll, um die GUI nicht zu blockieren.
Ich würde das so, oder so ähnlich lösen.
Code:WebClient client = new WebClient(); client.OpenReadCompleted += (s, n) => { var stream = n.Result; using (var storage = IsolatedStorageFile.GetUserStoreForApplication()) { using (var fileStream = storage.CreateFile("pic.png")) { stream.CopyTo(fileStream); //Bild speichern } } }; client.OpenReadAsync(new Uri("http://.../"));
-
Mich gibt's schon länger
- 30.07.2012, 08:29
- #4
Hallo,
vielen Dank für die schnelle Hilfe.
MfG Johann Löwen
Ähnliche Themen
-
"Hilfe, DRINGEND LESEN""Newbie braucht Hilfe""Ich weiß nicht mehr weiter" Threads
Von keiyuu im Forum Samsung Galaxy SAntworten: 8Letzter Beitrag: 28.01.2011, 10:13 -
Fugawi auf HD2 - Wie kann man zoomen (ohne PPC-Tasten für "hoch" und "runter")?
Von urlaubsreif im Forum HTC HD2 ProgrammeAntworten: 1Letzter Beitrag: 09.01.2011, 18:42 -
"Die Anwendung kann nicht gestartet werden" "Speicher voll" - zu kleiner Speicher?
Von Melanom im Forum Samsung S8500 WaveAntworten: 2Letzter Beitrag: 08.10.2010, 19:28 -
Ich kann die "InternetPortal-de-de.xml" nicht finden ?!
Von JB-Delta im Forum HTC Touch Diamond 2Antworten: 3Letzter Beitrag: 30.06.2009, 23:05 -
"Die Datei "autorun" kann nicht geöffnet werden."
Von mahe im Forum HTC Touch DualAntworten: 7Letzter Beitrag: 24.06.2008, 20:13
Pixel 10 Serie mit Problemen:...