¿Cómo convierto un mapa de bits en byte []?
Básicamente, estoy insertando una imagen usando el evento de inserción de vistas de lista, tratando de cambiar el tamaño de una imagen desde el control de carga de archivos, y luego guardarla en una base de datos SQL usando LINQ.
Encontré un código para crear un nuevo mapa de bits del contenido en el control de carga de archivos, pero esto era para almacenarlo en un archivo en el servidor, desdeesta fuente, pero necesito volver a guardar el mapa de bits en la base de datos SQL, que creo que necesito volver a convertir a un formato byte [].
Entonces, ¿cómo convierto el mapa de bits a un formato byte []?
Si voy por este camino equivocado, agradecería que me corrijan.
Aquí está mi código:
// Find the fileUpload control
string filename = uplImage.FileName;
// Create a bitmap in memory of the content of the fileUpload control
Bitmap originalBMP = new Bitmap(uplImage.FileContent);
// Calculate the new image dimensions
int origWidth = originalBMP.Width;
int origHeight = originalBMP.Height;
int sngRatio = origWidth / origHeight;
int newWidth = 100;
int newHeight = sngRatio * newWidth;
// Create a new bitmap which will hold the previous resized bitmap
Bitmap newBMP = new Bitmap(originalBMP, newWidth, newHeight);
// Create a graphic based on the new bitmap
Graphics oGraphics = Graphics.FromImage(newBMP);
// Set the properties for the new graphic file
oGraphics.SmoothingMode = SmoothingMode.AntiAlias;
oGraphics.InterpolationMode = InterpolationMode.HighQualityBicubic;
// Draw the new graphic based on the resized bitmap
oGraphics.DrawImage(originalBMP, 0, 0, newWidth, newHeight);
PHJamesDataContext db = new PHJamesDataContext();
System.IO.MemoryStream stream = new System.IO.MemoryStream();
newBMP.Save(stream, System.Drawing.Imaging.ImageFormat.Bmp);
stream.Position = 0;
byte[] data = new byte[stream.Length];
PHJProjectPhoto myPhoto =
new PHJProjectPhoto
{
ProjectPhoto = data,
OrderDate = DateTime.Now,
ProjectPhotoCaption = ProjectPhotoCaptionTextBox.Text,
ProjectId = selectedProjectId
};
db.PHJProjectPhotos.InsertOnSubmit(myPhoto);
db.SubmitChanges();