将位图数组转换为字节数组

时间:2012-06-25 18:36:05

标签: c# arrays byte

我有一个Bitmaps数组,我正在尝试将其转换为字节数组,其中字节数组的每个索引代表一个Bitmap。我在弄清楚如何做到这一点时遇到了一些麻烦。如果有人有任何建议,请告诉我。谢谢!

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[]));
    }
}

1 个答案:

答案 0 :(得分: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]);
    }
}

希望有所帮助