Does anyone know how to change Contrast / Brightness in .BMP file loaded into a picturebox ?
Or any site where I can learn it (I've searched it in VB Web Directory, VB Square, VB Api, this site and more) ?
Thanks in advance,
Printable View
Does anyone know how to change Contrast / Brightness in .BMP file loaded into a picturebox ?
Or any site where I can learn it (I've searched it in VB Web Directory, VB Square, VB Api, this site and more) ?
Thanks in advance,
Try planet-source-code.com
It's full of all different kinds of source code.
[Edited by Megatron on 03-31-2000 at 04:14 PM]
Keep this updated, I may solve my problem with crossfading images, if I only know a way to darken the images first and then use AND bitcomparation.
Thanks!
'Ok I have one solution to adjust brigtness and contrast of 'a picture box. First make the following API declarations:
-----------------------------------------------------------
Public Declare Function StretchBlt Lib "gdi32" Alias "StretchBlt" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hSrcDC As Long, ByVal xSrc As Long, ByVal ySrc As Long, ByVal nSrcWidth As Long, ByVal nSrcHeight As Long, ByVal dwRop As Long) As Long
Public Declare Function SetStretchBltMode Lib "gdi32" Alias "SetStretchBltMode" (ByVal hdc As Long, ByVal nStretchMode As Long) As Long
Public Declare Function SetColorAdjustment Lib "gdi32" Alias "SetColorAdjustment" (ByVal hdc As Long, lpca As COLORADJUSTMENT) As Long
-----------------------------------------------------------
'Now create the following structure and desinate a vairable 'to it call something like ColorInfo
-----------------------------------------------------------
Public Type COLORADJUSTMENT
caSize As Integer
caFlags As Integer
caIlluminantIndex As Integer
caRedGamma As Integer
caGreenGamma As Integer
caBlueGamma As Integer
caReferenceBlack As Integer
caReferenceWhite As Integer
caContrast As Integer
caBrightness As Integer
caColorfulness As Integer
caRedGreenTint As Integer
End Type
Public Const HALFTONE = 4
Global ColorInfo as COLORADJUSTMENT
-----------------------------------------------------------
'On your form load procedure call the SetStretchBltMode
SetStrecthBltMode Picture1.hdc, HALFTONE
-----------------------------------------------------------
To cause a change you modify the stteings of ColorInfo such as caBrightness and caContrast in a range from -100 to 100
-----------------------------------------------------------
'here a code section that will increase the brightness by 10
'The brighness is increase 10
'The SetColorAdjustment is called
'An image is taken frim Picture2 and copyed to picture1 'with the changes in brightness made
ColorInfo.caBrightness = ColorInfo.caBrightness + 10
SetColorAdjustment Picture1.hdc, ColorInfo
StretchBlt Picture1.hdc, 0, 0, Picture1.Width,_ Picture1.Height, Picture2.hdc, 0, 0, Picture2.Width,_ Picture2.Height, SRCCOPY
'Note the StretBlt function can also be used for zoom 'functions and you can even adjust rgb tints with the ColorAdjustment structure
-----------------------------------------------------------
Now the only problem with this code is that it is too slow for decent animation and you always have to use HALFTONE as the palette mode... This doesnt cause to much trouble with high colors settings ie ..16 or 32 bit however with 256 colormode this function is almost useless.
The other problem with using that code is that it ONLY works in Windows NT (not even 2000).