as a last resort: Bitmap bmp = new Bitmap(pictureBox1.Image); byte[] buf = new byte[bmp.Width * bmp.Height * 3]; long i = 0; for(int y = 0; y < bmp.Height; y++) for(int x = 0; x < bmp.Width; x++) { buf[i++] = bmp.GetPixel(x, y).R; buf[i++] = bmp.GetPixel(x, y).G; buf[i++] = bmp.GetPixel(x, y).B; }