Okay...
the D# value works as an percentage in this..if you want the image to be 75% as brite you just call the function like so:
FB_Darkenimage (myimage, 75)
if you want to increase the brightness by 30% then call it like:
FB_Darkenimage (myimage, 130)
Note however then there is no constraining of the values...erm...that is to say if the pixel is fully white (red=255, green=255, blue=255) and you try to increase the brightness it can make the pixel come out very dark grey...if you don't want that to happen then try this instead:
works pretty much the same but you can adjust each color seperately...say you wanted to increase the red inorder to use the image on a fire level or somesuch so you would call it like so:
coloradjustimage (myimage, 130,100,95)
which would increase the red by 30% (or set the red to 130%)...the green would stay the same...and the blue is reduced by 5% (or set to 95% of it's current color value)...
Function FB_DarkenImage ( image, d%=100 ) ;convert number into a fraction for multiplication percent# = d / 100 For ix = 0 To ImageWidth( image ) - 1 For iy = 0 To ImageHeight( image ) - 1 Local rbgc = ReadPixel( ix, iy, ImageBuffer(image) ) ;check if the pixel is a mask color...if so exit to the next pixel...else proceed If rbgc = $FFFF00FF then exit else Alpha% = (rbgc And $FF000000) Shr 24 Red% = (rbgc And $00FF0000) Shr 16 Green% = (rbgc And $0000FF00) Shr 8 Blue% = rbgc And $000000FF ;modify the color values, MOD ing them by 256 inorder to keep them in the range of 0 to 255 Red = (Red * percent) MOD 256 Green = (Green * percent) MOD 256 Blue = (Blue * percent) MOD 256 ;make sure this modified color isn't the same as the mask color, if so change it else it will be masked If red = 255 and blue = 255 and green = 0 then green = 1 ;rebuild the rbgc value and writepixel it to the image rbgc = (Alpha Shl 24) + (Red Shl 16) + (Green Shl 8) + Blue WritePixel ix,iy,($0),ImageBuffer(image) EndIf Next Next Return image End Function
the D# value works as an percentage in this..if you want the image to be 75% as brite you just call the function like so:
FB_Darkenimage (myimage, 75)
if you want to increase the brightness by 30% then call it like:
FB_Darkenimage (myimage, 130)
Note however then there is no constraining of the values...erm...that is to say if the pixel is fully white (red=255, green=255, blue=255) and you try to increase the brightness it can make the pixel come out very dark grey...if you don't want that to happen then try this instead:
Function coloradjustImage ( image, R% = 100, G% = 100, B% = 100 ) ;convert number into a fraction for multiplication percentred# = R% / 100 percentgreen# = G% / 100 percentblue# = B% / 100 For ix = 0 To ImageWidth( image ) - 1 For iy = 0 To ImageHeight( image ) - 1 Local rbgc = ReadPixel( ix, iy, ImageBuffer(image) ) ;check if the pixel is a mask color...if so exit to the next pixel...else proceed If rbgc = $FFFF00FF then exit else Alpha% = (rbgc And $FF000000) Shr 24 Red% = (rbgc And $00FF0000) Shr 16 Green% = (rbgc And $0000FF00) Shr 8 Blue% = rbgc And $000000FF ;modify the color values Red = (Red * percentred) if Red > 255 then Red = 255 if Red < 0 then Red = 0 Green = (Green * percent) if Green > 255 then Green = 255 if Green < 0 then Green = 0 Blue = (Blue * percent) if Blue > 255 then Blue = 255 if Blue < 0 then Blue = 0 ;make sure this modified color isn't the same as the mask color, if so change it else it will be masked If red = 255 and blue = 255 and green = 0 then green = 1 ;rebuild the rbgc value and writepixel it to the image rbgc = (Alpha Shl 24) + (Red Shl 16) + (Green Shl 8) + Blue WritePixel ix,iy,($0),ImageBuffer(image) EndIf Next Next Return image End Function
works pretty much the same but you can adjust each color seperately...say you wanted to increase the red inorder to use the image on a fire level or somesuch so you would call it like so:
coloradjustimage (myimage, 130,100,95)
which would increase the red by 30% (or set the red to 130%)...the green would stay the same...and the blue is reduced by 5% (or set to 95% of it's current color value)...