python提取屏幕任意位置颜色(Matplotlib画图取色器)

用 Matplotlib 画图的时候经常会尝试多种不同配色,但是浏览到一个好看的配色时往往不方便应用到 Matplotlib 中,因为 Matplotlib 要求的颜色格式为:(R,G,B),其中 R,G,B 最大值为1。一般查到的配色方案都是以 RGB 最大值 255 来显示的。

使用以下代码可以选择将屏幕上任意一点,获取其满足 matplotlib 的 (R,G,B) 格式。

使用流程:

1.网页搜索科研配色,例如搜到如下配色:

2.运行下面的代码,把鼠标移到颜色块上,摁一下 Ctrl 取色 (可以取多次,直到退出取色),摁一下ESC,再摁一下 Ctrl 退出取色。

3.在控制台即可看到输出了:

4.把这些颜色复制到 Matplotlib 的画图函数中就行:

my_color = tuple(np.array([247, 241, 223])/255)
plt.plot(x, y, color=my_color)

附上获取屏幕颜色的代码:

import pyautogui
from ctypes import windll  # 获取屏幕上某个坐标的颜色
from time import sleep
import keyboard

def get_color(x, y):
    gdi32 = windll.gdi32
    user32 = windll.user32
    hdc = user32.GetDC(None)  # 获取颜色值
    pixel = gdi32.GetPixel(hdc, x, y)  # 提取RGB值
    r = pixel & 0x0000ff
    g = (pixel & 0x00ff00) >> 8
    b = pixel >> 16
    return [r, g, b]

def run():
    pyautogui.FAILSAFE = True# 鼠标移动左上角终止程序
    pos = pyautogui.position()# 获取鼠标当前的位置
    color = get_color(pos.x, pos.y) #获取指定位置的色值
    if plt_mode == 1:
        print('tuple(np.array('+'{}'.format(color)+')/255)')
        
    else:
        print('{}'.format(color))
    return 0

def out():
    global judge
    judge = 0
    # pyautogui.press('ctrl')


def clear():
    pass

if __name__ == '__main__':

    plt_mode = 1

    judge = True
    keyboard.add_hotkey('esc', out)
    # recorded = keyboard.record(until='esc')
    # keyboard._hotkeys = {}
    while judge:
        sleep(0.5)
        keyboard.wait('ctrl')
        if judge!=0:
            run()
 
    keyboard._hotkeys = {}

  • 11
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
『好色鬼』是一款采集屏幕颜色的软件,软件不大,但是功能强大,实用性强,易操作,对网页设计师、photoshop、corldraw等平面设计师处理颜色是一个非常好的帮手,特别是网页设计师有更大的帮助,『好色鬼』会自动生成网页十六进制代码,只要在网页代码内粘贴就可以把想要的颜色显示在网页上;『好色鬼』除了以上功能,还有以下主要功能: ◆分离红、绿、蓝三颜色值;可以对三种颜色做不同的调整; ◆四个窗口采集颜色,能更方便的比较和储存颜色; ◆提供颜色放大采集功能,让用户更精确采集颜色; ◆提供常用、经典、备用3组收藏颜色的收藏夹功能; ◆提供颜色反向功能; ◆提供颜色灰度功能; ◆提供对比色功能; ◆提供常用调色板和通用调色板功能; ◆提供手动输入WEB和RGB颜色,快捷方便! ◆换皮肤功能,提供8款不同皮肤,同时支持皮肤扩展,可以自己动手制作自己喜好的『好色鬼』皮肤,操作简单容易实现; ◆自动伸缩功能,让用户有更多屏幕空间显示其他内容; ◆支持屏幕吸附功能,自动吸附到屏幕边缘; ◆软件完全绿色,不写入任何数据到注册表; 这次新的XP版本,完全废弃了以前版本的代码,全部重新设计书写,优化 颜色采集和显示的算法,加快显示速度,同时加强了稳定性、灵活性和安全性, 新增以下功能: 1。在原来只能采一个点颜色的基础上增加到四个,更为方便你的颜色采集, 以及颜色观看、对比; 2。在原来的粘贴颜色代码功能基础上,增加了手工输入颜色代码,这样更 为方便你的颜色观看、对比; 3。增强了换皮肤功能,以前只是单一的四边形,现在可以随心所欲,任你 玩,任你选择,同时我们会不时提供各种各样的新皮肤;说明:不支持以前版本 的皮肤; 4。增加了颜色代码字体颜色的修改,以便和皮肤背景颜色形成鲜明的对比, 这样可以更方便你看清颜色代码值; 5。增加了系统热键设置功能,更方便你的操作使用; 6。增强了《好色鬼 XP》的绿色适应性功能,你可以把她拷贝任何目录,都 可以安全的运行;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值