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

Comment puis-je convertir efficacement un bitmap en tableau d'octets en C# ?

Linda Hamilton
Linda Hamiltonoriginal
2025-01-23 14:57:13876parcourir

How Can I Efficiently Convert a Bitmap to a Byte Array in C#?

Conversion efficace de bitmap en tableau d'octets en C#

Enregistrer un bitmap Windows dans un fichier temporaire, puis le lire sous forme de tableau d'octets est une méthode de conversion courante, mais elle n'est pas efficace. Voici deux alternatives en C# qui offrent de meilleures performances.

Utiliser ImageConverter

La classe ImageConverter fournit un moyen pratique de convertir une image en tableau d'octets :

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

Cette méthode ne nécessite pas de codage approfondi et est idéale pour les petites tâches de conversion.

Utiliser MemoryStream

La classe MemoryStream vous permet d'enregistrer les images sur la mémoire plutôt que sur le disque :

<code class="language-csharp">public static byte[] ImageToByte2(Image img)
{
    using (var stream = new MemoryStream())
    {
        img.Save(stream, System.Drawing.Imaging.ImageFormat.Png);
        return stream.ToArray();
    }
}</code>

Les avantages supplémentaires de cette méthode sont le choix du format d'image et la possibilité de sauvegarder les données sur le disque ou de les conserver en mémoire.

Ces alternatives fournissent des solutions efficaces et flexibles pour convertir des bitmaps en tableaux d'octets, réduisant ainsi les opérations inutiles sur le disque et améliorant les performances.

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