Man, you've got some strange stuff going on there.
Firstly, by convention use a variable 'x' to go across and 'y' to go up. Not 'i'.
The error looks like it comes about because you're going out of range on the height, looping here:
for (int x = 0; x <= pictureEdit1.Image.Height+1; x++)
surely should be:
for (int y = 0; y < pictureEdit1.Image.Height; y++)
Still not sure what you want to do mind.
Also, the bitmap 'b' - width always comes before height - you're constucting it on its side...