|
|
thanks for sharing us such a good tool for adjust gamma ramp for display devices,
it's quite good and helpful.
But as I used your tool, I found a problem, you can try.
For Intel integrated display card, first you start GammaManager.exe and adjust gamma value to fit your eyes,
then you start Windows Media Center, after that, you can close MediaCentre, then you will found everything return
to normal without changes of GammaManager.exe.
But for ATI display card, everything goes well.
so why? can you help me out?
strongpan
|
|
|
|
|
I have searched all over on the net, and didnt find any sample that control the screen brightness in .Net,, could yu please convert this to .Net?
Thanks,
|
|
|
|
|
|
SetDeviceGammaRamp API is use for adjust whole gamma ramp,right?
Gamma ramp means Brightness.gamma and contrast.
so these three color adjustments will be changed together after set the gamma ramp.
I want to set each color parameters separately,each color parameters can set channel (All, red,blue,Green). Look like ATI or Nvida AP.
Does anyone know how to make it?
|
|
|
|
|
SetDeviceGammaRamp API is use for adjust whole gamma ramp,right?
Gamma ramp means Brightness.gamma and contrast.
so these three color adjustments will be changed together after set the gamma ramp.
I want to set each color parameters separately,each color parameters can set channel (All, red,blue,Green). Look like ATI or Nvida AP.
Does anyone know how to make it?
|
|
|
|
|
I have the following problem: when I try to compile it, it gives the following error 4 times:
Error 5 error C2666: 'pow' : 6 overloads have similar conversions c:\Gamma_Manager_demo\GammaSlider.cpp 179
in the following piece of code:
void CGammaSlider::SetGamma(float Gamma)
{
WORD ramp[256*3];
for(int i = 0; i < 256; i++) {
ramp[i] = ramp[i+256] = ramp[i+512] =
(WORD)min(65535, max(0, pow((i+1) / 256.0, Gamma) * 65535 + 0.5));
}
SetDeviceGammaRamp(::GetDC(NULL), ramp);
}
How can I fix this?
|
|
|
|
|
void CGammaSlider::SetGamma(float Gamma)
{
WORD ramp[256*3];
for(int i = 0; i < 256; i++) {
ramp[i] = ramp[i+256] = ramp[i+512] =
(WORD)min(65535, max(0, pow((float)((i+1) / 256.0),Gamma) * 65535 + 0.5))
}
SetDeviceGammaRamp(::GetDC(NULL), ramp);
}
you just need to cast first argument of pow() function to float 
|
|
|
|
|
Just out of curiosity does anybody know how to do gamma corrections programmatically on dual monitor systems? With a single window stretched across two screens? I have seperate colour calibration info for each monitor.
|
|
|
|
|
My aplication must to function into a darkly environment. It meens that the screen brightness is painfull for the eyes. If you came inside from light to this darkly environment is also damage for eyes, until you get use with the sreen brightness. It would help a lot if I can reduce the gamma, brightness and contrast so that much to the complete screen darkness (similar with PowerStrip http://entechtaiwan.net/utils/ps.shtm in color profiles atribute). The brightness seting with gamma ramp between 0-255 wouldn't help me so much. At 0 value the screen is still brightness.
The rezult I hope to obtain is similar with seting in 0 of the monitor's parameters ( Brightness, Contrast and RGB). Is it possible to obtain such a rezult? Is there any way to set the monitor's brightness, contrast and RGB helping with a software aplication and to obtain a black screen?
Thenk you all.
George
|
|
|
|
|
Hi,
Can some one to tell me how do I change the RGB color of a monitor in a script program?
Thanks for the help.
Robert
|
|
|
|
|
Hello
I have a Geforce Card and i would like to use your code in a video player to change the gamma on a running video file but when i use your program it change the gamma on all the desktop expect the video. It seems the Geforce Card use multiple gamma ramp because it works fine on a computer with S3 graphic card.
Do you know how to change other gamma ramp ?
Thanks
|
|
|
|
|
Well it's too late for DigitalCAS, but in case anyone else stumbles across here and wonders the same thing, what DigitalCAS was experiencing was the overlay surface. The video player was using the overlay to output the video faster (in hardware). The overlay surface is not affected by monitor color adjustments and that's why the video was unaffected. The S3 worked because it did not support an overlay.
It's possible to adjust the video by either disabling the video acceleration in the media player or to run a program that uses the overlay before running the media player which then has to do software rendering of the video.
HTH
--
Synetech
|
|
|
|
|
I tried out the free demo program, and it works great for my cheap monitor! I think it's great that Mr. D. Cantin would give this code out for free.
I was wondering if I may use the code as an addition to my own program, for free? I know we are given the source code, but are their any catches? Is the code released under any licenses? For example, if someone wanted to add this code to a program they are writing to sell at some cost, would this be allowed?
Radiaki
|
|
|
|
|
Totally free of charge but you need to keep copyright header!
->L'enfer est pavé de bonnes intentions! :-S
->The road to hell is paved with good intentions! :-S
|
|
|
|
|
I wanted a similar slider control that works on pocket pc 2000 with windows ce 3.0....
|
|
|
|
|
Hi..
I am NOT in any way a programmer, and have no idea how to make your thingie work.. but i would utterly adore it if i could get something just like this for Win98se and WinXP.
Do i need to learn to build programs, or do you know how to make your thingie do what i want? *hopeful look*
As you only post the source code, i do realise that you are quite likely not able to compile it for my system, but if not, perchance someone else reading this could.
Thanks in advance, even if you can't *S*
jinxie
Carpe Noctum
|
|
|
|
|
The 'demo project' download should contain an executable.
Christian
No offense, but I don't really want to encourage the creation of another VB developer.
- Larry Antram 22 Oct 2002
C# will attract all comers, where VB is for IT Journalists and managers - Michael
P Butler 05-12-2002
It'd probably be fairly easy to make a bot that'd post random stupid VB questions, and nobody would probably ever notice - benjymous - 21-Jan-2003
|
|
|
|
|
Maybe have a choice whether or not the dialog saves to the registry.
Eg.
App starts
Get gamma registry setting - not there then call static gamma SetGammaPos(defaultPos)
else use gamma registry setting call SetGammaPos(RegistryPos)
App Started
User selects option to set gamma settings
Use dialog to control setting visually, user clicks 'OK' allow application to static GetGammaPos and write to registry.
In other words... it would be good to be able to call a static Function to Set/Put a 0-100% of the gamma without using the dialog.
Possible create a CGamma class which could be used in isolation of the control, the control could also inherit from this class giving the developer a little more flexibility - just a thought.
// Encapsulate Gamma Functionality
class CGamma
{
void SetGamma(int nPercentage) {}
int GetGamma() const {}
};
class CGammaSlider : public CSliderControl, CGamma
{
};
Thanks
"VB the polished turd of software languages"
|
|
|
|
|
Dany found a small bug in the headers, causes a bug in VC++ 7.0.
WORD m_RampSaved[255*3];
should be
WORD m_RampSaved[256*3];
"VB the polished turd of software languages"
|
|
|
|
|
TRUE;
- The hell is paved good intentions.
|
|
|
|
|
hi
jeah, i also recognised this bug
|
|
|
|
|
Would be a good idea if you could implement a Save/Load functions to the registry,
"VB the polished turd of software languages"
|
|
|
|
|
Good idea.
- The hell is paved good intentions.
|
|
|
|
|
I can't believe what a great guy Dany is! I asked him to implement the above example in VB code for me, and he had it finished in less than a day!
This guy has got my utmost respect!
Woohoo! Keep up the good work Dany!
P.S.: I'm so happy because I've been searching weeks for this code in VB, to no avail, and now you come along and help me!
www.deviantcoding.com
|
|
|
|