GDI32.DLL中用于在Windows上更改颜色平衡的函数的名称是什么?

例如要更改设备 Gamma ,我需要使用SetDeviceGammaRamp

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

最佳答案

您可以使用与您提到的功能完全相同的功能来调整屏幕的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);

关于c# - 以编程方式更改屏幕色彩平衡,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21093650/

10-13 05:54