Yes you can manipulate bitmaps as much as you like
Look at read and write pixel fast.
http://www.blitzbasic.com/codearcs/codearcs.php?code=551
Basically if you want to make something x% brightness you need to read the r,g and b of a pixel multiply each component by (x/100) and write the resultant rgb back.
If you want to add 2 images together, read each rgb component of each of the images, add them together and divide by 2.
It's all pretty straight forward and can be used real time (ish) for a paint package if you're using small (around 256x256) images.
Peeking and poking image buffers is faster, but I've never tried this.
Look at read and write pixel fast.
http://www.blitzbasic.com/codearcs/codearcs.php?code=551
Basically if you want to make something x% brightness you need to read the r,g and b of a pixel multiply each component by (x/100) and write the resultant rgb back.
If you want to add 2 images together, read each rgb component of each of the images, add them together and divide by 2.
It's all pretty straight forward and can be used real time (ish) for a paint package if you're using small (around 256x256) images.
Peeking and poking image buffers is faster, but I've never tried this.