我正在编写自己的实用程序,该实用程序使用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成为软件游标。