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;
}
}