A: 

Your problem is DrawRectangle. The starting location of your rectangle reaches the end of your initial bitmap.

If you change the location of your rectangle you will be able to see it completely.

using (Graphics g2 = Graphics.FromImage(b))
{
    g2.DrawRectangle(new Pen(Color.White, 7.2f), 50, 50, 150, 100);
}
Francis B.
I can't change the location of the rectangle - I want to draw it there. If you toggle a breakpoint, you can see that both the Bitmap and the Graphics g2 get the new dimensions before the rectangle is drawn.
mbeckish
A: 

I tried your code with TryGdiPlus (very useful for these kind of things, BTW). I managed to make the rectangle draw without clipping with width of 99 pixels:

g2.DrawRectangle(new Pen(Color.White, 7.2f), 200, 100, 99, 100);

So it looks as though the bitmap's width is still 300 pixels even after rotating.

Igor Brejc
If you toggle a breakpoint, you can see that both the Bitmap and the Graphics g2 get the new dimensions before the rectangle is drawn.
mbeckish
+7  A: 
Oren Trutner
Awesome - thanks a lot!!!
mbeckish