Je n'arrive pas à comprendre comment charger une image pictureBox à partir d'un bitmap en mémoire. Est-il possible ou dois-je créer un fichier temporaire pour l'image bitmap?Charger une image Picturebox à partir de la mémoire?
Répondre
Quel est le format de l'image en mémoire?
Si vous avez un objet réel Bitmap, juste assigner à PictureBox, comme suggéré par DTB:
pictureBox.Image = bitmap;
Si vous avez l'image comme une série d'octets détenus dans un cours d'eau, vous aurez besoin pour charger l'image du flux:
var image = Image.FromStream(stream);
pictureBox.Image = image;
Si vous avez la place d'une poignée de fenêtres GDI au bitmap, utilisez
var image = Image.FromHbitmap(handle);
pictureBox.Image = image;
Essentiellement, il est difficile de répondre à votre question avec plus que des suggestions lorsque vous ne nous avez pas dit quel est le format du Bitmap que vous avez.
J'ai reçu l'exception' System.ArgumentException: Parameter is not valid.'' lorsque j'ai essayé de charger l'image à partir du flux. –
@BalagurunathanMarimuthu Je suggère de poster votre propre question pour obtenir de l'aide dans votre contexte particulier; il est difficile d'aider avec si peu d'informations. – Bevan
pictureBox.Image = bitmap;
paramètre manquant ici 'Dim image As Byte() = GetBytes (ListView2.Items (index) .SubItems (8) .Texte) Convertisseur de dim comme nouveau ImageConverter() PictureBox1.Image = DirectCast (converter.ConvertFrom (image) , Image) ' –
Vous pouvez créer un Bitmap d'un MemoryStream:
pictureBox.Image = new Bitmap(new MemoryStream(byteArray));
à quel point est-il sûr d'éliminer explicitement le MemoryStream? Would: using (var ms = nouveau MemorySteam (byteArray)) {pictureBox.Image = nouveau Bitmap (ms)}; fais attention ? –
@MoeSisko: Vous n'avez pas vraiment besoin de disposer d'un MemoryStream; ils n'ont pas de resorces non gérés. (juste un 'byte []') Mais, oui; cela devrait être bien. – SLaks
paramètre manquant ici 'Dim image As Byte() = GetBytes (ListView2.Items (index) .SubItems (8) .Texte) Convertisseur de dim comme nouveau ImageConverter() PictureBox1.Image = DirectCast (converter.ConvertFrom (image) , Image) ' –
Copie possible: http://stackoverflow.com/questions/743549 – dtb
Comment faire vous avez le bitmap en mémoire? – SLaks
C'est le contraire, charger l'image à partir d'un fichier, ce qui est inhabituel. Utilisez la classe Bitmap. –