Hallo Leute,
ich weiß nicht ob ich hier richtig bin. Es geht um Windows Phone 7, speziell
App-Entwicklung mit Silverlight für Windows Phone 7.
Ich habe ein Image-Control und möchte ein Bild anzeigen.
Verwende folgenden Code:
// URI-STRING
string uri = "./Content/Images/" + (string)picElement.Element("Bild1");
// BitmapImage erstellen
BitmapImage bmpImage = new BitmapImage(new Uri(uri));
// ImageSource zuweisen und Pic anzeigen
imgTourPic.Source = bmpImage;
Leider wird mir kein Bild angezeigt. Woram kamm das liegen?
Danke.
mfg
mcpd
Hallo mcpd,
nimmst du noch die Betatools oder die Final?
Ich hab leider noch nicht mit der Final gearbeitet, erinner mich aber daran,
dass in der Beta direktes (Bilder) laden von dynamisch generierten URIs nicht möglich war.
Du solltest beim Debugen sehen, dass die ImagSource leer bzw fehlerhaft ist. Daher auch das leere Bild.
Teste am Besten mal eine feste URI und schau ob das Bild dann geladen wird. Wenn dies der Fall ist liegt es an dem Problem.
Ich hatte das auch und hab das so gelöst (Workaround - WP7 BETA Code):
//Load BitmapImage
if (myFile.FileExists(filepath + ".jpg";))
{
myStream = myFile.OpenFile(filepath + ".jpg", FileMode.Open);
// Decode the JPEG stream.
WriteableBitmap myBitmap = PictureDecoder.DecodeJpeg(myStream);
myStream.Close();
myStream.Dispose();
MemoryStream ms = new MemoryStream();
BitmapImage bmp = new BitmapImage();
//Convert WriteableBitmap to BitmapImage
myBitmap.SaveJpeg(ms, myBitmap.PixelWidth, myBitmap.PixelHeight, 0, 100);
bmp.SetSource(ms);
this.addToImages(bmp));
}
else
{...}
Ich hoffe es hilft dir weiter,
Mazo
P.S. WP7 rulez 😄
Danke für Deinen Tipp.
Dabei hast Du mich auf eine Idee gebracht. Ich verwende jetzt folgende
Methode:
private void LoadImage(string relativeUri)
{
// URI-Objekt erstellen
Uri uri = new Uri(relativeUri, UriKind.Relative);
// Ressourcenstreaminformationen über die GetResourceStream-Methode abrufen
StreamResourceInfo resourceInfo = Application.GetResourceStream(uri);
// BitmapImage-Objekt erstellen
BitmapImage bmpImage = new BitmapImage();
// Stream in Image Konvertieren
bmpImage.SetSource(resourceInfo.Stream);
// Picture anzeigen
imgTourPic.Source = bmpImage;
}
Die relative URI musste ich auch ändern in:
"/Projekt;component/Content/Images/"
Jetzt funktioniert es auch mit der Anzeige dynamisch geladener Picture