Trabajando con imagen y bitmap en c #?

Estoy desarrollando un proyecto que incluye una galería de imágenes gestionada por el panel de administración. Quiero mostrar las imágenes en miniatura a admin en el panel de administración que está activo y se mostrará al usuario final.

De acuerdo. Estoy almacenando imágenes en db en dos parámetros: ImageData (byte []), ImageMimeType. Así que quiero almacenar versiones en miniatura de las imágenes cuando las almacena por primera vez. He encontrado un código de ejemplo para cambiar el tamaño y manipular imágenes en este texto del enlace de dirección:

private static Image cropImage(Image img, Rectangle cropArea) { Bitmap bmpImage = new Bitmap(img); Bitmap bmpCrop = bmpImage.Clone(cropArea, bmpImage.PixelFormat); return (Image)(bmpCrop); } 

Esta función toma una imagen como parámetro. Pero tengo ImageData (byte []).

Entonces, ¿cómo convierto mi matriz de bytes a Imagen e Imagen a matriz de bytes?

Imagen de la matriz de bytes

 public Image byteArrayToImage(byte[] byteArray) { MemoryStream ms = new MemoryStream(byteArray); return Image.FromStream(ms); } 

Imagen a matriz de bytes

 public byte[] imageToByteArray(Image image) { MemoryStream ms = new MemoryStream(); return image.Save(ms,ImageFormat.Jpeg).ToArray(); } 

Crea la imagen de un flujo:

 private static Image cropImage(byte[] imgArray, Rectangle cropArea) { MemoryStream ms = new MemoryStream(imgArray); Image img = Image.FromStream(ms); Bitmap bmpImage = new Bitmap(img); Bitmap bmpCrop = bmpImage.Clone(cropArea, bmpImage.PixelFormat); return (Image)(bmpCrop); } 
 public Image ByteArrayToImage(byte[] byteArrayIn) { MemoryStream ms = new MemoryStream(byteArrayIn); Image returnImage = Image.FromStream(ms); return returnImage; } 

Encontrado aquí que también tiene muchos otros ejemplos

Algo como esto?

 Bitmap bmpImage = new Bitmap(img); MemoryStream stream = new MemoryStream(); try { bmpImage.Save(stream, bmpImage.RawFormat); byte[] bytes = stream.ToArray(); } finally { stream.Close(); ((IDisposable)stream).Dispose(); } 

También puede crear MemoryStream desde el byte [] y luego cargar la imagen de esa secuencia.