Hondaen Skrevet 13. mars 2005 Del Skrevet 13. mars 2005 Heisann! Jeg har bygget inn en 8" lcd skjerm i dashbordet til bilen jeg har. Pga det er ikke hurtigtastene på lcd skjermen for lysstyrke (Brightness) regulering tilgjengelig. Ved kjøring i mørke er jeg dog avh. av å kunne dimme ned lysstyrken på skjermen. Har søkt på nettet etter en kode som lar meg justere lysstyrke (gamma?) i et VB program. Er jo endel programmer der ute som gjør akkurat dette ( nvidia quicktweak) men jeg ønsker å gjøre dette raskt og enkelt ved bruk av to command buttons. Noen som vet om noe brukenes kode ? mvh Lenke til kommentar
Jonas Skrevet 13. mars 2005 Del Skrevet 13. mars 2005 (endret) Dette har ingen ting med tråden å gjøre!!!1 (Trenger vedlegs-funksjonen, og den fungerer ikke i PM..) Edit: Hvis det skulle være noe tvil, ja, det er til Hondaen. WinAmp2.zip Endret 13. mars 2005 av Jonas Lenke til kommentar
aadnk Skrevet 13. mars 2005 Del Skrevet 13. mars 2005 Vel, jeg skulle tro SetDeviceGammaRamp skulle klare dette. Legg en scrollbar inn i formen og sett Max til 100. Kall den for scrollBrightness og legg følgende kode inn i formen: Private Declare Function GetDeviceGammaRamp Lib "gdi32" (ByVal hdc As Long, lpv As Any) As Long Private Declare Function SetDeviceGammaRamp Lib "gdi32" (ByVal hdc As Long, lpv As Any) As Long Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (Destination As Any, Source As Any, ByVal Length As Long) Private OrigRamp(0 To 255, 0 To 2) As Integer Private CurrRamp(0 To 255, 0 To 2) As Integer Public Sub ChangeBrightness(destArray() As Integer, refArray() As Integer, lngFactor As Double) Dim Tell As Long, Temp As Long For Tell = 0 To 255 destArray(Tell, 0) = Lng2Int(Int2Lng(refArray(Tell, 0)) * lngFactor) destArray(Tell, 1) = Lng2Int(Int2Lng(refArray(Tell, 1)) * lngFactor) destArray(Tell, 2) = Lng2Int(Int2Lng(refArray(Tell, 2)) * lngFactor) Next End Sub Private Sub Form_Load() ' Hent den originale lysstyrken GetDeviceGammaRamp Me.hdc, OrigRamp(0, 0) ' I førstingen er alltid lysstyrken på det normale scrollBrightness.Value = scrollBrightness.Max End Sub Private Sub Form_Unload(Cancel As Integer) ' Tilbakestill lysstyrke SetDeviceGammaRamp Me.hdc, OrigRamp(0, 0) End Sub Public Function Int2Lng(IntVal As Integer) As Long CopyMemory Int2Lng, IntVal, 2 End Function Public Function Lng2Int(Value As Long) As Integer CopyMemory Lng2Int, Value, 2 End Function Private Sub scrollBrightness_Change() ChangeBrightness CurrRamp, OrigRamp, 0.5 + ((scrollBrightness.Value / scrollBrightness.Max) / 2) ' Sett den nye lysstyrken SetDeviceGammaRamp Me.hdc, CurrRamp(0, 0) End Sub Private Sub scrollBrightness_Scroll() ' Endre lysstyrken scrollBrightness_Change End Sub Lenke til kommentar
Hondaen Skrevet 13. mars 2005 Forfatter Del Skrevet 13. mars 2005 aadnk: Er akkurat det jeg er ute etter, men får ikke koden til å fungere skikkelig, selv om jeg gjør som du sier. Er du sikker på den er rett ? mvh Lenke til kommentar
DevN Skrevet 13. mars 2005 Del Skrevet 13. mars 2005 Funket fint her på maskinen. Men er det normalt at skjermbildet blir noen milimeter mindre og større når jeg forandrer på lysstyrken? Lenke til kommentar
aadnk Skrevet 14. mars 2005 Del Skrevet 14. mars 2005 Jeg antar problemet ligger i følgende: Direct color display modes do not use color lookup tables and are usually 16, 24, or 32 bit. Not all direct color video boards support loadable gamma ramps. SetDeviceGammaRamp succeeds only for devices with drivers that support downloadable gamma ramps in hardware. Hardwaren din støtter med andre ord ikke denne funksjonen. Lenke til kommentar
Hondaen Skrevet 14. mars 2005 Forfatter Del Skrevet 14. mars 2005 Rart. Kan være nvidia quicktweak ligger inne å ødelegger. Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå