вторник, 27 ноября 2012 г.

Задача в С#: необходимо перевести Bitmap в bytes array

//используем отражение для  вызова метода
MethodInfo mi = typeof(Bitmap).GetMethod("FromGDIplus", BindingFlags.Static | BindingFlags.NonPublic);
IntPtr img = IntPtr.Zero;
//создаём bitmap на основе BITMAPINFO и массива пикселей
int st = GdipCreateBitmapFromGdiDib(bmpptr, pixptr, ref img2);
if (st == 0 && img != IntPtr.Zero) {
  Bitmap bm = (Bitmap)mi.Invoke(null, new object[] { img2 });
  MemoryStream ms = new MemoryStream();
 //сохраняем bitmap в поток в формате jpeg
  bm.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);
//перевод потока в массив
  byte[ ] bytes = ms.ToArray();
}
                   

Комментариев нет:

Отправить комментарий