Wie erstellen WriteableBitmap von BitmapImage?
Konnte ich erstellen WriteableBitmap von Bilder in Assets.
Uri imageUri1 = new Uri("ms-appx:///Assets/sample1.jpg");
WriteableBitmap writeableBmp = await new WriteableBitmap(1, 1).FromContent(imageUri1);
aber, ich kann nicht WriteableBitmap-Bilder Verzeichnis,(ich bin mit WinRT XAML Toolkit)
//open image
StorageFolder picturesFolder = KnownFolders.PicturesLibrary;
StorageFile file = await picturesFolder.GetFileAsync("sample2.jpg");
var stream = await file.OpenReadAsync();
//create bitmap
BitmapImage bitmap2 = new BitmapImage();
bitmap2.SetSource();
bitmap2.SetSource(stream);
//create WriteableBitmap, but cannot
WriteableBitmap writeableBmp3 =
await WriteableBitmapFromBitmapImageExtension.FromBitmapImage(bitmap2);
Ist das richtig ?
InformationsquelleAutor hiroo | 2013-02-05
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dies ist eine von insgesamt auszudenken, aber es scheint zu funktionieren ...
InformationsquelleAutor JP Alioto
Hier so Lesen Sie ein Bild auf ein WriteableBitmap-Objekt funktioniert wie Filip hingewiesen:
Hinweis, dass ich mich mit den pixel-format und alpha-Modus Beschreibbar Bitmap verwendet und, dass ich gehe .
InformationsquelleAutor Jürgen Bayer
WriteableBitmapFromBitmapImageExtension.FromBitmapImage()
arbeitet mit der original-Uri geladenBitmapImage
und IIRC funktioniert das nur mitBitmapImage
s aus der appx. In Ihrem Fall gibt es nicht einmal eine Uri, die seit dem laden aus Ordner "Bilder" kann nur erreicht werden, durch das laden von Strom, so dass Sie Ihre Optionen vom schnellsten zum langsamsten (denke ich):WriteableBitmap
aus der sich gehen, so dass Sie nicht brauchen, um Sie erneut zu öffnen oder zu kopieren-bits um.WriteableBitmap
und erstellen Sie dann eine neueWriteableBitmap
gleicher Größe, und kopieren Sie die pixel-buffer.WriteableBitmap
laden Sie es aus der gleichen Datei wie das original.Ich denke option 2 könnte schneller sein, als option 3, da Sie vermeiden Decodierung eines komprimierten Bildes zweimal.
Nein, der link ist für Silverlight. Sie brauchen, um ein StorageFile für Ihr Bild z.B. mit einem file-picker, dann erwarten OpenReadAsync, dann erstellen Sie eine 1x1-WriteableBitmap und erwarten SetSourceAsync. Überprüfen Sie dies für die Probe/Erweiterungen: winrtxamltoolkit.codeplex.com/SourceControl/changeset/view/...
InformationsquelleAutor Filip Skakun