Растровое изображение для int [] с использованием Marshal.Copy ()

м используюMarshal.Copy() скопировать информацию о пикселе изBitmap дляint[] В массиве проблема заключается в том, что информация, поступающая в этот массив, поступает неправильно, например:

             [0] = -8682109; 
             [1] = -8682109; 
             [2] = -8616573; 
             [3] = -8616573; 
             [4] = -8550527; 
             and so on...

код для метода:

    private unsafe int[] BmpToBytes_Unsafe(Bitmap bmp)
    {
        BitmapData bData = bmp.LockBits(new Rectangle(new Point(), bmp.Size),
            ImageLockMode.ReadOnly,
            PixelFormat.Format32bppRgb);

        // number of bytes in the bitmap
        byteCount = bData.Stride * (bmp.Height);

        int[] bytes = new int[byteCount / 4];

        Marshal.Copy(bData.Scan0, bytes, 0, byteCount/4);

        // don't forget to unlock the bitmap!!
        bmp.UnlockBits(bData);

        return bytes;

Когда я использовалbyte[] массив, информация, которая была сохранена, была правильной, поэтому я нене знаю, что здесь происходит.

Ответы на вопрос(2)

Ваш ответ на вопрос