Maison >développement back-end >C++ >Comment puis-je convertir un bitmap en tableau d'octets sans utiliser de fichiers temporaires ?
Adieu les fichiers temporaires : deux méthodes efficaces de conversion de Bitmap en tableau d'octets
La conversion du bitmap Windows en tableau d'octets est une tâche courante dans le développement de logiciels. Bien que l'enregistrement du Bitmap dans un fichier temporaire, puis sa lecture à l'aide de FileStream soient une méthode simple, ce n'est pas la solution la plus efficace. Cet article présentera deux méthodes alternatives qui ne nécessitent pas de fichiers temporaires.
Méthode 1 : classe ImageConverter
La classe ImageConverter fournit une méthode de conversion pratique qui peut être complétée avec seulement quelques lignes de code :
<code class="language-c#">public static byte[] ImageToByte(Image img) { ImageConverter converter = new ImageConverter(); return (byte[])converter.ConvertTo(img, typeof(byte[])); }</code>
Méthode 2 : MemoryStream (MemoryStream)
Une autre approche consiste à utiliser des flux de mémoire. Cette approche simule l'enregistrement dans un fichier temporaire, mais conserve les données en mémoire :
<code class="language-c#">public static byte[] ImageToByte2(Image img) { using (var stream = new MemoryStream()) { img.Save(stream, System.Drawing.Imaging.ImageFormat.Png); return stream.ToArray(); } }</code>
La méthode de streaming de mémoire offre une plus grande flexibilité, vous pouvez spécifier le format d'image et choisir de l'enregistrer sur la mémoire ou sur le disque.
Résumé
ImageConverter et MemoryStream offrent des alternatives viables pour la conversion de bitmap en tableau d'octets sans utiliser de fichiers temporaires. La méthode ImageConverter est plus concise, tandis que la méthode MemoryStream offre plus de contrôle. Vous pouvez choisir la méthode la plus appropriée en fonction de vos besoins spécifiques.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!