Okay, if
PicBox1.Image
is
Nothing
, then this will fail:
PicBox1.Image = New Bitmap(PicBox1.Image)
as well this:
Dim myBitMap As New Bitmap(PicBox1.Image)
because you are trying to copy an image that doesn't exist. The immediate fix to this is do something like this
Dim myBitMap As New Bitmap(10,20)
Which will create a new image that is 10x20.
I will point out that your code won't do what you want. The UI won't redraw until after the event handler is finished, as both run in the UI thread. All the user is likely to see is a long wait (GetPixel is slow), and then an immediate jump to the final image. My suggestion is that you look at the Timer control, doing part of the revealing at a time in the Tick event. Provided you don't take too long to change the image, the user should see a suitable effect.
Alternativly, a simpler solution would be to have a label where the foreground and background colours are the same. You can then progressivly change the background colour (again using a Timer), revealing the word without all the messing around with GDI.
However, with respect, I think you should be (re)visiting some Visual Basic basics from a book or similar. The first problem should be pretty trivial to solve with suitable knowledge about how variables work in Visual Basic.