You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Python调整Windows 11屏幕色温(滤色)及亮度

解决方案:Windows 11下Python实现屏幕亮度调节与红色滤镜

一、屏幕亮度调节库推荐

  • screen_brightness_control:你找到的这个库是Windows平台亮度调节的首选之一,支持多显示器操作,用法简洁:
    import screen_brightness_control as sbc
    # 获取当前屏幕亮度
    current_brightness = sbc.get_brightness()
    # 设置全局亮度为50%
    sbc.set_brightness(50)
    # 给第二台显示器设置亮度为75%
    sbc.set_brightness(75, display=1)
    
  • pywin32:如果需要更底层的系统级操作,可以用这个库调用Windows原生API实现亮度调节,适合需要自定义逻辑的场景,但代码相对繁琐。

二、屏幕红色滤镜(色温调节)实现方案

目前没有专门的Python库直接支持Windows色温调节,可通过以下两种方式实现:

1. 调用Windows Gamma校准API(需管理员权限)

通过pywin32调用系统API修改RGB通道增益,实现偏红的滤镜效果:

import win32api
import win32con

# 开启红色滤镜:降低绿、蓝通道增益
def enable_red_filter():
    hdc = win32api.GetDC(0)
    # 生成Gamma曲线:红色保持正常,绿、蓝通道降低
    gamma_ramp = [
        list(range(256)) * 3,  # 红色通道
        [int(i * 0.3) for i in range(256)] * 3,  # 绿色通道保留30%
        [int(i * 0.2) for i in range(256)] * 3   # 蓝色通道保留20%
    ]
    win32api.SetDeviceGammaRamp(hdc, gamma_ramp)
    win32api.ReleaseDC(0, hdc)

# 恢复默认色温
def disable_red_filter():
    hdc = win32api.GetDC(0)
    # 生成线性默认Gamma曲线
    default_ramp = [list(range(256)) for _ in range(3)]
    win32api.SetDeviceGammaRamp(hdc, default_ramp)
    win32api.ReleaseDC(0, hdc)

# 使用示例
enable_red_filter()
# 用完后记得恢复默认
# disable_red_filter()

注意:运行此代码需要管理员权限,否则会执行失败。

2. 创建半透明顶层窗口(无需权限)

通过创建全屏半透明红色窗口模拟滤镜效果,适合普通桌面场景:

import tkinter as tk

def launch_red_filter():
    root = tk.Tk()
    # 全屏显示
    root.attributes('-fullscreen', True)
    # 窗口始终置顶
    root.attributes('-topmost', True)
    # 设置红色半透明背景(alpha值0.2可按需调整)
    root.attributes('-alpha', 0.2)
    root.configure(bg='red')
    # 按ESC键退出滤镜
    root.bind('<Escape>', lambda e: root.destroy())
    root.mainloop()

# 启动红色滤镜
launch_red_filter()

此方法无需权限,但会覆盖所有窗口,可能影响部分全屏应用操作。

内容的提问来源于stack exchange,提问作者Nikolay Hranov

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 12:22:36