Maison >développement back-end >C++ >Comment convertir efficacement un bitmap Windows en un tableau d'octets ?

Comment convertir efficacement un bitmap Windows en un tableau d'octets ?

Barbara Streisand
Barbara Streisandoriginal
2025-01-23 15:12:11903parcourir

How to Efficiently Convert a Windows Bitmap to a Byte Array?

Convertir le bitmap Windows en tableau d'octets

La conversion du bitmap Windows en tableau d'octets est une tâche courante dans diverses applications. Bien que l'enregistrement de l'image dans un fichier temporaire, puis l'utilisation d'un FileStream pour lire son contenu soient une approche viable, il existe une approche plus efficace et plus générale.

Classe ImageConverter

Un moyen pratique consiste à utiliser la classe ImageConverter :

<code class="language-c#">public static byte[] ImageToByte(Image img)
{
    ImageConverter converter = new ImageConverter();
    return (byte[])converter.ConvertTo(img, typeof(byte[]));
}</code>

Cette méthode convertit facilement une image en un tableau d'octets sans codage supplémentaire.

MemoryStream

Une autre façon consiste à utiliser les flux de 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>

Cette méthode simule la méthode du fichier temporaire, mais au lieu de sauvegarder l'image sur le disque, elle la stocke en mémoire. Cela offre une flexibilité, vous permettant de choisir d'enregistrer sur la mémoire ou sur le disque en fonction de vos besoins.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn