一、Python获取屏幕分辨率大小
import tkinter as tk root = tk.Tk() width = root.winfo_screenwidth() height = root.winfo_screenheight() print("屏幕宽度:%d,屏幕高度:%d" % (width, height))
使用tkinter库中的Tk()类创建一个窗口实例root,然后调用root实例的winfo_screenwidth()和winfo_screenheight()方法分别获取屏幕宽度和屏幕高度。最后输出结果。
二、Python获取屏幕
from PIL import ImageGrab im = ImageGrab.grab() im.show()
使用Pillow库(PIL)中的ImageGrab模块的grab()函数可以截取整个屏幕的图像,并保存在Image对象中。然后可以使用show()方法将其显示出来。
三、Python获取屏幕上的字
from PIL import ImageGrab import pytesseract im = ImageGrab.grab() text = pytesseract.image_to_string(im, lang='chi_sim') print(text)
使用Pillow库中的ImageGrab模块的grab()函数截取整个屏幕的图像,然后使用pytesseract库中的image_to_string()函数将图像中的文字转为字符串。lang参数指定转换的语言,'chi_sim'表示中文简体。最后输出识别出来的内容。
四、Python获取屏幕中的指定区域
from PIL import ImageGrab bbox = (100, 100, 300, 300) # 区域左上、右下坐标 im = ImageGrab.grab(bbox) im.show()
使用Pillow库中的ImageGrab模块的grab()函数可以截取指定区域的图像,并保存在Image对象中。bbox参数为四元组,分别为区域的左上、右下坐标。然后可以使用show()方法将其显示出来。
五、Python获取屏幕指定区域内的颜色
from PIL import ImageGrab bbox = (100, 100, 300, 300) # 区域左上、右下坐标 im = ImageGrab.grab(bbox) color = im.getpixel((50, 50)) print(color)
使用Pillow库中的ImageGrab模块的grab()函数截取指定区域的图像,并保存在Image对象中。getpixel()方法获取坐标点的颜色值,返回一个元组表示RGB值。这里获取的是(50, 50)这个点的颜色值。
六、Python获取屏幕的DPI
import ctypes user32 = ctypes.windll.user32 dc = user32.GetDC(0) dpi = user32.GetDeviceCaps(dc, 88), user32.GetDeviceCaps(dc, 90) print("DPI:", dpi)
使用ctypes库调用Windows API函数获取屏幕DPI(每英寸像素数)。先获取屏幕设备上下文DC,然后使用GetDeviceCaps()函数分别获取水平和垂直方向的DPI值。
七、Python获取屏幕的缩放比例
import ctypes user32 = ctypes.windll.user32 k = user32.GetDpiForSystem() / 96 print("缩放比例:%f" % k)
使用ctypes库调用Windows API函数获取当前系统缩放比例。GetDpiForSystem()函数返回的是DPI与标准DPI值(96)的比值,即缩放比例。
八、Python获取屏幕截图并保存
from PIL import ImageGrab im = ImageGrab.grab() im.save("screen.png")
使用Pillow库中的ImageGrab模块的grab()函数可以截取整个屏幕的图像,并保存在Image对象中。然后使用save()方法将其保存为指定的文件。这里保存为screen.png文件。