Click here to Skip to main content
15,914,419 members
Home / Discussions / C / C++ / MFC
   

C / C++ / MFC

 
GeneralRe: Image processing in C Pin
CPallini19-Sep-16 9:14
mveCPallini19-Sep-16 9:14 
AnswerRe: Image processing in C Pin
leon de boer19-Sep-16 7:17
leon de boer19-Sep-16 7:17 
QuestionCarlos Antollini ADO classes Pin
Member 1111024014-Sep-16 7:03
Member 1111024014-Sep-16 7:03 
AnswerRe: Carlos Antollini ADO classes Pin
Victor Nijegorodov14-Sep-16 7:26
Victor Nijegorodov14-Sep-16 7:26 
Questionvc630 vending machines Pin
Member 1273272111-Sep-16 8:04
Member 1273272111-Sep-16 8:04 
AnswerRe: vc630 vending machines Pin
NotPolitcallyCorrect11-Sep-16 8:08
NotPolitcallyCorrect11-Sep-16 8:08 
AnswerRe: vc630 vending machines Pin
Chris Losinger12-Sep-16 4:19
professionalChris Losinger12-Sep-16 4:19 
JokeRe: vc630 vending machines Pin
enhzflep12-Sep-16 14:22
enhzflep12-Sep-16 14:22 
AnswerRe: vc630 vending machines Pin
Patrice T14-Sep-16 8:21
mvePatrice T14-Sep-16 8:21 
QuestionHow to fix the invalide pointer problem Pin
yu-jian8-Sep-16 17:43
yu-jian8-Sep-16 17:43 
AnswerRe: How to fix the invalide pointer problem Pin
leon de boer8-Sep-16 19:03
leon de boer8-Sep-16 19:03 
AnswerRe: How to fix the invalide pointer problem Pin
CDP18028-Sep-16 19:08
CDP18028-Sep-16 19:08 
AnswerRe: How to fix the invalide pointer problem Pin
Saravanan Sundaresan24-Sep-16 19:55
professionalSaravanan Sundaresan24-Sep-16 19:55 
QuestionHow do you read / use this code? Pin
Vaclav_8-Sep-16 7:40
Vaclav_8-Sep-16 7:40 
AnswerRe: How do you read / use this code? Pin
NotPolitcallyCorrect8-Sep-16 7:58
NotPolitcallyCorrect8-Sep-16 7:58 
GeneralRe: How do you read / use this code? Pin
Vaclav_8-Sep-16 10:16
Vaclav_8-Sep-16 10:16 
AnswerRe: How do you read / use this code? Pin
Bram van Kampen8-Sep-16 14:40
Bram van Kampen8-Sep-16 14:40 
AnswerRe: How do you read / use this code? Pin
leon de boer8-Sep-16 17:26
leon de boer8-Sep-16 17:26 
GeneralSOLVED Re: How do you read / use this code? Pin
Vaclav_9-Sep-16 18:23
Vaclav_9-Sep-16 18:23 
QuestionReference CalculateRamp - How to derive entry arguments from the existing Gamma Ramp - My best solution Pin
Keith Davis3-Sep-16 6:28
Keith Davis3-Sep-16 6:28 
QuestionRe: Reference CalculateRamp - How to derive entry arguments from the existing Gamma Ramp Pin
Richard MacCutchan3-Sep-16 6:36
mveRichard MacCutchan3-Sep-16 6:36 
AnswerRe: Reference CalculateRamp - How to derive entry arguments from the existing Gamma Ramp Pin
Keith Davis3-Sep-16 6:47
Keith Davis3-Sep-16 6:47 
AnswerRe: Reference CalculateRamp - How to derive entry arguments from the existing Gamma Ramp Pin
Keith Davis3-Sep-16 7:11
Keith Davis3-Sep-16 7:11 
Here is my C++ implementation of the algorythm:

C++


C#
void __fastcall TForm1::SetRamp(double level, double gamma, double bright, double cntrst){
// level should be between 2 and 100
// gamma should be between 2 and 50
// brigntess should be between 0 and 100
// contrast should be between 0 and 100
   HDC GammaDC=GetDC(NULL);
   WORD GammaArray[3][256];

   gamma /= 10;
   bright = 1 + (((bright - 50) / 100) * 65535);
   cntrst = 1 + ((cntrst - 50) / 100);
   level = 1 + ((level - 50) / 100);

   for(DWORD i=0;i<256;i++){
      double value = i * 256;
      value = (pow(value / 65535, 1 / gamma) * 65535) + 0.5;
      value = ((((value / 65535) - 0.5) * cntrst) + 0.5) * 65535;
      value = value += bright;
      value *= level;
      if(value>65535){value=65535;}
      if(value<0){value=0;}
		GammaArray[0][i]=GammaArray[1][i]=GammaArray[2][i]=(WORD)value;
   }
   
   if(!SetDeviceGammaRamp(GammaDC,GammaArray)){
      Memo1->Lines->Add("SetDeviceGammaRamp Failed");
      GraphIt(&GammaArray[0][0], false);
   }else{
      GraphIt(&GammaArray[0][0], true);
   }
   ReleaseDC(NULL,GammaDC);
}

AnswerRe: Reference CalculateRamp - How to derive entry arguments from the existing Gamma Ramp Pin
leon de boer4-Sep-16 3:54
leon de boer4-Sep-16 3:54 
GeneralRe: Reference CalculateRamp - How to derive entry arguments from the existing Gamma Ramp Pin
Keith Davis4-Sep-16 9:10
Keith Davis4-Sep-16 9:10 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.