De l'Image à partir de l'URL de stream
Je reçois des images à partir d'une url:
BitmapImage image = new BitmapImage(new Uri(article.ImageURL));
NLBI.Thumbnail.Source = image;
Cela fonctionne parfaitement, maintenant, j'ai besoin de le mettre dans un flux de données, afin d'en faire le tableau d'octets. Je suis en train de faire ceci:
WriteableBitmap wb = new WriteableBitmap(image);
MemoryStream ms = new MemoryStream();
wb.SaveJpeg(ms, image.PixelWidth, image.PixelHeight, 0, 100);
byte[] imageBytes = ms.ToArray();
Et le code ne fonctionne pas avec NullReference, comment le résoudre?
OriginalL'auteur Cheese | 2013-07-26
Vous devez vous connecter pour publier un commentaire.
Vous obtenez un
NullReference
exception parce que l'image n'est toujours pas chargé lorsque vous l'utilisez. Vous pouvez attendre pour laImageOpened
événement, et ensuite travailler avec elle:Autre option est d'obtenir le flux du fichier image directement à l'aide de WebClient:
WebClient
comme indiqué ci-dessus, puis écrire le flux à un tableau d'octets et de créer directement BitmapImage de la même flux en appelant BitmapImage.SetSource.J'ai complété la réponse à la suggestion de @Clemens
OriginalL'auteur anderZubi
WebClient.DownloadData
n'est pas disponible dans Silverlight.Merci , mais j'ai
The remote server returned an error: (404) Not Found.
Ce qui a fonctionné pour moi merci..
A travaillé pour moi en c# mvc avec .net 4.5.1
OriginalL'auteur Ashok Damani
vous pouvez utiliser ceci:
haha, je pense que j'ai vu votre question, un peu en retard
OriginalL'auteur Matsteel