如何将图像文件转换为图像字节

时间:2012-06-26 09:59:56

标签: c#

你们可以帮助将JPG文件转换为2维int [] []数组吗?有一个解决方案将它转换为bytearray,但我需要它在一个int数组....

byte[] imageBytes = File.ReadAllBytes("example.jpg");

2 个答案:

答案 0 :(得分:3)

ReadAllBytes不会获得JPEG的像素。 JPEG是压缩图像类型。您需要先将其加载到Image类中以解压缩它。然后,您可以访问图像的像素,并确定它的宽度和高度。

Bitmap image = new Bitmap("example.jpg"); 

// Loop through the image
for(x=0; x<image.Width; x++)
{
    for(y=0; y<image.Height; y++)
    {
        Color pixelColor = image1.GetPixel(x, y);
        my_int_array[x][y] = pixelColor.ToArgb();
    }
}

答案 1 :(得分:2)

如果您需要为某些图像处理API提供对基础图像的原始访问权限(这很可能是您真正需要的)并且无法访问文件,请参阅How to: Use LockBits

本文还介绍了扫描和步幅等基础知识:Using the LockBits method to access image data