2012-06-25 6 views
3

У меня есть массив битмапов, которые я пытаюсь преобразовать в массив байтов, где каждый индекс байтового массива представляет битмап. У меня возникли проблемы с выяснением, как это сделать. Если у кого есть предложение, дайте мне знать. Благодаря!преобразовать массив растровых изображений в массив байтов

private void ConvertBitmapToBytes(Bitmap[] BitmapArray) 
{ 
    byte[][] BitmapBytes = new byte[BitmapArray.Length][]; 
    ImageConverter convert = new ImageConverter(); 
    for (int i = 0; i < BitmapArray.Length; i++) 
    { 
     BitmapBytes[i] = new byte[BitmapArray.Length]; 
     BitmapBytes[i][i] = convert.ConvertTo(BitmapArray[i], typeof(byte[])); 
    } 
} 

ответ

5

Попробуйте это:

public byte[] ImageToByte(Bitmap image){ 
    using (MemoryStream ms = new MemoryStream()) 
    { 
     // Convert Image to byte[] 
     image.Save(ms, ImageFormat.Bmp); 
     byte[] imageBytes = ms.ToArray(); 
     return imageBytes; 
    } 
} 

А потом, ваш код будет это:

private void ConvertBitmapToBytes(Bitmap[] BitmapArray) 
{ 
    byte[][] BitmapBytes = new byte[BitmapArray.Length][]; 
    for (int i = 0; i < BitmapArray.Length; i++) 
    { 
     BitmapBytes[i] = ImageToByte(BitmapArray[i]); 
    } 
} 

Надеется, что это помогает

+0

Я считаю, что это именно то, что я ищу , Благодаря! –

Смежные вопросы