2014-01-13 108 views
2

GDI32.DLL中用於更改Windows上顏色平衡的功能名稱是什麼?以編程方式更改屏幕顏色平衡

例如更改設備伽馬我需要使用SetDeviceGammaRamp

[DllImport("GDI32.dll")] 
private unsafe static extern bool SetDeviceGammaRamp(Int32 hdc, void* ramp); 

在此先感謝。

+0

顏色平衡你的意思是亮度和修改RGB值,對不對? –

+0

右邊(紅色,綠色和藍色),您可以在dccw.exe上的「調整色彩平衡」中修改相同的值。 –

+0

WcsAssociateColorProfileWithDevice() –

回答

0

您可以調整屏幕的RGB值,並改變它的亮度與完全相同的功能,正如你所說:SetDeviceGammaRamp

在這裏看到: http://www.nirsoft.net/vc/change_screen_brightness.html

功能的第二個參數,你傳遞的RGB值:

//Generate the 256-colors array for the specified wBrightness value. 
     WORD GammaArray[3][256]; 

     for (int iIndex = 0; iIndex < 256; iIndex++) 
     { 
      int iArrayValue = iIndex * (wBrightness + 128); 

      if (iArrayValue > 65535) 
       iArrayValue = 65535; 

      GammaArray[0][iIndex] = 
      GammaArray[1][iIndex] = 
      GammaArray[2][iIndex] = (WORD)iArrayValue; 

     } 

     //Set the GammaArray values into the display device context. 
     bReturn = SetDeviceGammaRamp(hGammaDC, GammaArray); 
相關問題