if you want to traverse it right, left, right, ... in one loop, this would do it:
for (int i = 0 ; i < bmp.Height * bmp.Width; ++i) {
int row = i / bmp.Height;
int col = i % bmp.Width;
if (row%2 != 0) col = bmp.Width - col-1;
var pixel = bmp.GetPixel(col, row);
}