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
Libérer: 2025-01-23 15:12:11
original
903 Les gens l'ont consulté

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>
Copier après la connexion

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>
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal