mirror of
https://github.com/Anjok07/ultimatevocalremovergui.git
synced 2024-11-28 01:10:56 +01:00
122 lines
4.6 KiB
Python
122 lines
4.6 KiB
Python
import os
|
|
from screeninfo import get_monitors
|
|
from PIL import Image
|
|
from PIL import ImageTk
|
|
|
|
def get_screen_height():
|
|
monitors = get_monitors()
|
|
if len(monitors) == 0:
|
|
raise Exception("Failed to get screen height")
|
|
return monitors[0].height
|
|
|
|
SCREEN_SIZE_VALUES = {
|
|
"normal": {
|
|
"credits_img":(100, 100),
|
|
## App Size
|
|
'IMAGE_HEIGHT': 140,
|
|
'FILEPATHS_HEIGHT': 75,
|
|
'OPTIONS_HEIGHT': 262,
|
|
'CONVERSIONBUTTON_HEIGHT': 30,
|
|
'COMMAND_HEIGHT': 141,
|
|
'PROGRESS_HEIGHT': 25,
|
|
'PADDING': 7,
|
|
},
|
|
"small": {
|
|
"credits_img":(50, 50),
|
|
## App Size
|
|
'IMAGE_HEIGHT': 135,
|
|
'FILEPATHS_HEIGHT': 85,
|
|
'OPTIONS_HEIGHT': 274,
|
|
'CONVERSIONBUTTON_HEIGHT': 35,
|
|
'COMMAND_HEIGHT': 80,
|
|
'PROGRESS_HEIGHT': 6,
|
|
'PADDING': 5,
|
|
},
|
|
"medium": {
|
|
"credits_img":(50, 50),
|
|
## App Size
|
|
'IMAGE_HEIGHT': 135,
|
|
'FILEPATHS_HEIGHT': 85,
|
|
'OPTIONS_HEIGHT': 274,
|
|
'CONVERSIONBUTTON_HEIGHT': 20,
|
|
'COMMAND_HEIGHT': 115,
|
|
'PROGRESS_HEIGHT': 9,
|
|
'PADDING': 7,
|
|
},
|
|
}
|
|
|
|
|
|
try:
|
|
if get_screen_height() >= 900:
|
|
determined_size = SCREEN_SIZE_VALUES["normal"]
|
|
elif get_screen_height() <= 720:
|
|
determined_size = SCREEN_SIZE_VALUES["small"]
|
|
else:
|
|
determined_size = SCREEN_SIZE_VALUES["medium"]
|
|
except:
|
|
determined_size = SCREEN_SIZE_VALUES["normal"]
|
|
|
|
class ImagePath():
|
|
def __init__(self, base_path):
|
|
|
|
img_path = os.path.join(base_path, 'gui_data', 'img')
|
|
credits_path = os.path.join(img_path, 'credits.png')
|
|
donate_path = os.path.join(img_path, 'donate.png')
|
|
download_path = os.path.join(img_path, 'download.png')
|
|
efile_path = os.path.join(img_path, 'File.png')
|
|
help_path = os.path.join(img_path, 'help.png')
|
|
key_path = os.path.join(img_path, 'key.png')
|
|
stop_path = os.path.join(img_path, 'stop.png')
|
|
play_path = os.path.join(img_path, 'play.png')
|
|
pause_path = os.path.join(img_path, 'pause.png')
|
|
self.banner_path = os.path.join(img_path, 'UVR-banner.png')
|
|
|
|
self.efile_img = self.open_image(path=efile_path,size=(20, 20))
|
|
self.stop_img = self.open_image(path=stop_path, size=(20, 20))
|
|
self.play_img = self.open_image(path=play_path, size=(20, 20))
|
|
self.pause_img = self.open_image(path=pause_path, size=(20, 20))
|
|
self.help_img = self.open_image(path=help_path, size=(20, 20))
|
|
self.download_img = self.open_image(path=download_path, size=(30, 30))
|
|
self.donate_img = self.open_image(path=donate_path, size=(30, 30))
|
|
self.key_img = self.open_image(path=key_path, size=(30, 30))
|
|
self.credits_img = self.open_image(path=credits_path, size=determined_size["credits_img"])
|
|
|
|
def open_image(self, path: str, size: tuple = None, keep_aspect: bool = True, rotate: int = 0) -> ImageTk.PhotoImage:
|
|
"""
|
|
Open the image on the path and apply given settings\n
|
|
Paramaters:
|
|
path(str):
|
|
Absolute path of the image
|
|
size(tuple):
|
|
first value - width
|
|
second value - height
|
|
keep_aspect(bool):
|
|
keep aspect ratio of image and resize
|
|
to maximum possible width and height
|
|
(maxima are given by size)
|
|
rotate(int):
|
|
clockwise rotation of image
|
|
Returns(ImageTk.PhotoImage):
|
|
Image of path
|
|
"""
|
|
img = Image.open(path).convert(mode='RGBA')
|
|
ratio = img.height/img.width
|
|
img = img.rotate(angle=-rotate)
|
|
if size is not None:
|
|
size = (int(size[0]), int(size[1]))
|
|
if keep_aspect:
|
|
img = img.resize((size[0], int(size[0] * ratio)), Image.ANTIALIAS)
|
|
else:
|
|
img = img.resize(size, Image.ANTIALIAS)
|
|
|
|
return ImageTk.PhotoImage(img)
|
|
|
|
class AdjustedValues():
|
|
IMAGE_HEIGHT = determined_size["IMAGE_HEIGHT"]
|
|
FILEPATHS_HEIGHT = determined_size["FILEPATHS_HEIGHT"]
|
|
OPTIONS_HEIGHT = determined_size["OPTIONS_HEIGHT"]
|
|
CONVERSIONBUTTON_HEIGHT = determined_size["CONVERSIONBUTTON_HEIGHT"]
|
|
COMMAND_HEIGHT = determined_size["COMMAND_HEIGHT"]
|
|
PROGRESS_HEIGHT = determined_size["PROGRESS_HEIGHT"]
|
|
PADDING = determined_size["PADDING"]
|