85 votes

System.Drawing.Image pour diffuser C #

J'ai un System.Drawing.Image dans mon programme. Le fichier ne se trouve pas sur le système de fichiers, il est mis en mémoire. Je dois créer un flux à partir de cela. Comment pourrais-je m'y prendre?

163voto

JaredPar Points 333733

Essayez ce qui suit

 public static Stream ToStream(this Image image, ImageFormat formaw) {
  var stream = new System.IO.MemoryStream();
  image.Save(stream, formaw);
  stream.Position = 0;
  return stream;
}
 

Ensuite, vous pouvez utiliser ce qui suit

 var stream = myImage.ToStream(ImageFormat.Gif);
 

Remplacez Gif par le format approprié à votre scénario.

16voto

John Gietzen Points 23645

Utiliser un flux de mémoire

 using(MemoryStream ms = new MemoryStream())
{
    image.Save(ms, ...);
    return ms.ToArray();
}
 

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X