import FreeSimpleGUI as sg
from glob import glob
version = 0.8
# 界面布局
sg.theme('TanBlue') # 图形界面布局
layout = [
[sg.Text("重要资料目录夹: "),
sg.In(size=(35, 1), enable_events=True, key="_FOLDER_"),
sg.FolderBrowse()],
[sg.Text("水印大小: "),
sg.Slider(range=(30, 100), resolution=10, default_value=60,
size=(12, 15), border_width=1, text_color='navy',
orientation='horizontal', key='_SCALE_')],
[sg.Text('水印文字:'),
sg.InputText(size=(20, 1), key='_WORDS_')],
[sg.Button('OK'), sg.Button('Exit')],
]
types = ["png", "jpg", "jpeg"]
window = sg.Window(f'又拍云水印系统 v{version} -悟空', layout).Finalize()
while True:
jpg_and_pngs = []
event, values = window.read()
if event in (None, 'Exit'):
break
elif event in (None, 'OK'):
if values['_FOLDER_'] != "":
if values['_WORDS_'] == "":
sg.popup("水印文字不能为空!")
continue
for type in types:
files = f"{values['_FOLDER_']}/*.{type}"
this_type_files = glob(files)
jpg_and_pngs += this_type_files
if len(jpg_and_pngs) == 0:
sg.popup("没有发现图片!")
continue
else:
for f in jpg_and_pngs:
if IsValidImage(f):
add_mark_png(f, values['_WORDS_'], values['_SCALE_'])
else:
sg.popup("图片格式与后缀名不符!")
continue
sg.popup("处理完毕!")
else:
sg.popup("目录不能为空!")
window.close()