usar namespace library ejemplo crear convert como c# .net jpeg bmp

namespace - crear bitmap c#



C#: ¿Cómo convertir una matriz de bytes BITMAP a formato JPEG? (3)

¿Cómo puedo convertir un BITMAP en formato de matriz de bytes a formato JPEG usando .net 2.0?


Si solo se trata de un búfer de datos de píxeles en bruto, y no de un archivo de imagen completo (incluidos encabezados, etc., como un archivo JPEG), entonces no puede usar Image.FromStream.

Creo que lo que podría estar buscando es System.Drawing.Bitmap.LockBits, devolviendo un System.Drawing.Imaging.ImageData; esto proporciona acceso a leer y escribir los píxeles de la imagen usando un puntero a la memoria.


¿Qué tipo de byte[] quieres decir? ¿Los datos de flujo de archivos sin formato? En ese caso, ¿qué tal algo así como (usando System.Drawing.dll en una aplicación cliente):

using(Image img = Image.FromFile("foo.bmp")) { img.Save("foo.jpg", ImageFormat.Jpeg); }

O use FromStream con un new MemoryStream(arr) si realmente tiene un byte[] :

byte[] raw = ...todo // File.ReadAllBytes("foo.bmp"); using(Image img = Image.FromStream(new MemoryStream(raw))) { img.Save("foo.jpg", ImageFormat.Jpeg); }


public static Bitmap BytesToBitmap(byte[] byteArray) { using (MemoryStream ms = new MemoryStream(byteArray)) { Bitmap img = (Bitmap)Image.FromStream(ms); return img; } }