forked from PantsuDango/Dango-Translator
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathScreenRate.py
52 lines (35 loc) · 1.28 KB
/
ScreenRate.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
# -*- coding: utf-8 -*-
from win32 import win32api, win32gui, win32print
from win32.lib import win32con
from win32.win32api import GetSystemMetrics
from PIL import Image
def get_real_resolution():
"""获取真实的分辨率"""
hDC = win32gui.GetDC(0)
# 横向分辨率
w = win32print.GetDeviceCaps(hDC, win32con.DESKTOPHORZRES)
# 纵向分辨率
h = win32print.GetDeviceCaps(hDC, win32con.DESKTOPVERTRES)
return w, h
def get_screen_size():
"""获取缩放后的分辨率"""
w = GetSystemMetrics (0)
h = GetSystemMetrics (1)
return w, h
def Background(screen_scale_rate):
img = Image.open("./config/Background.jpg")
weight = int(404*screen_scale_rate)
height = int(576*screen_scale_rate)
out = img.resize((weight, height))
out.save("./config/Background%d.jpg"%(screen_scale_rate*100))
def get_screen_rate():
real_resolution = get_real_resolution()
screen_size = get_screen_size()
screen_scale_rate = round(real_resolution[0] / screen_size[0], 2)
if screen_scale_rate == 1.0 or screen_scale_rate == 1.25 or screen_scale_rate == 1.5 or screen_scale_rate == 1.75:
pass
else:
Background(screen_scale_rate)
return screen_scale_rate
if __name__ == '__main__':
get_screen_rate()