为什么SetDeviceGammaRamp不影响光标颜色?

时间:2019-01-28 02:06:35

标签: c# windows winapi

我正在编写自己的实用程序,该实用程序使用SetDeviceGammaRamp来调整RGB通道的相对亮度,以调整显示色温(类似于f.lux)。这有效,但是,鼠标光标不会受到影响。我最初的印象是该LUT根本没有应用到GPU的硬件光标。但是,后来我注意到,如果使用波纹管代码修改系统光标,它将得到颜色校正。

Bitmap bmp = new Bitmap(@"cursor.png");
Cursor cur = new Cursor(bmp.GetHicon());
Win32.SetSystemCursor(cur.Handle, 32512); //32512 = OCR_NORMAL

但是,以下操作无效(无色彩校正)

var cur = Win32.LoadCursorFromFile(@"cursor.cur");
Win32.SetSystemCursor(cur, 32512); //32512 = OCR_NORMAL

我唯一的想法是,第一个示例可能以某种方式迫使Windows成为软件游标。

0 个答案:

没有答案