This should work. It's just the opposite of a brightness adjuster that I use.

Subtract a value from each pixel's colour components (red, green, and blue). The bigger darknessVal, the darker the image will become.

VB Code:
  1. Dim pixelColour As Color
  2. Dim x,y As Integer
  3. Dim darknessVal as Byte
  4. ...
  5. For x = 0 to PhotoBmp.Width - 1
  6.    For y = 0 to PhotoBmp.Height - 1
  7.       pixelColour = photoBmp.GetPixel(x, y)
  8.  
  9.       red = pixelColour.R - darknessVal
  10.       green = pixelColour.G - darknessVal
  11.       blue = pixelColour.B - darknessVal
  12.  
  13.       pixelColour = Color.FromArgb(red, green, blue)
  14.       photoBmp.SetPixel(x, y, pixelColour)
  15.    Next
  16. Next

But don't forget NOT to let red, green, or blue go below 0 after the subtraction. I didn't include the error checking code for reasons of clarity.

Bear in mind this is my first attempt at answering a question, and I'm a beginner myself.