hcatitles/hcatitles.py

68 lines
1.8 KiB
Python
Raw Normal View History

2022-05-18 23:19:58 -06:00
import PySimpleGUI as sg
2022-05-18 22:30:18 -06:00
from PIL import Image, ImageFilter, ImageOps
from io import BytesIO
def update_image(original,blur,contrast,emboss,contour,flipx,flipy):
global image
image = original.filter(ImageFilter.GaussianBlur(blur))
image = image.filter(ImageFilter.UnsharpMask(contrast))
if emboss:
image = image.filter(ImageFilter.EMBOSS())
if contour:
image = image.filter(ImageFilter.CONTOUR())
if flipx:
image = ImageOps.mirror(image)
if flipy:
image = ImageOps.flip(image)
bio = BytesIO()
image.save(bio, format = 'PNG')
window['-IMAGE-'].update(data = bio.getvalue())
image_path = 'test.png'
image_path = sg.popup_get_file('Open', no_window = True)
control_col = sg.Column([
[
2022-05-18 23:19:58 -06:00
sg.Frame('Title',
layout = [[sg.Input(key = '-TITLE-')]]
2022-05-18 22:30:18 -06:00
)],
[
2022-05-18 23:19:58 -06:00
sg.Frame('SubTitle',
layout = [[sg.Input(key = '-SUBTITLE-')]]
2022-05-18 22:30:18 -06:00
)],
[
sg.Button('Save image', key= '-SAVE-')],
])
image_col = sg.Column([[sg.Image(image_path, key = '-IMAGE-')]])
layout = [[control_col,image_col]]
original = Image.open(image_path)
window = sg.Window('Image Editor', layout)
while True:
event, values = window.read(timeout=50)
if event == sg.WIN_CLOSED:
break
update_image(original,
values['-BLUR-'],
values['-CONTRAST-'],
values['-EMBOSS-'],
values['-CONTOUR-'],
values['-FLIPX-'],
values['-FLIPY-'],
)
if event == "-SAVE-":
save_path = sg.popup_get_file('Save',
save_as = True,
no_window = True) + '.png'
image.save(save_path, 'PNG')
window.close()