diff --git a/hcatitles.py b/hcatitles.py index 7abdf23..f5bb382 100644 --- a/hcatitles.py +++ b/hcatitles.py @@ -1,12 +1,17 @@ import PySimpleGUI as sg -from PIL import Image, ImageFilter, ImageOps +from PIL import Image, ImageDraw, ImageFilter, ImageFont, 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)) +# Globals + + +def update_image(window, original,title,subtitle): + global image + # image = original.filter(ImageFilter.GaussianBlur(blur)) + # image = image.filter(ImageFilter.UnsharpMask(contrast)) + image = original + """ if emboss: image = image.filter(ImageFilter.EMBOSS()) if contour: @@ -16,52 +21,65 @@ def update_image(original,blur,contrast,emboss,contour,flipx,flipy): image = ImageOps.mirror(image) if flipy: image = ImageOps.flip(image) + """ + # bio = BytesIO() + # image.save(bio, format = 'PNG') + # window['-IMAGE-'].update(data = bio.getvalue()) + + +def build_layout(image_path): + control_col = sg.Column([ + [ + sg.Frame('Title', + layout = [[sg.Input('Pastor Shane Wallis', key = '-TITLE-')]] + )], + [ + sg.Frame('SubTitle', + layout = [[sg.Input(key = '-SUBTITLE-')]] + )], + [ + sg.Button('Save image', key= '-SAVE-')], + ]) + original = Image.open(image_path) + image = original.resize((720, 360)) + white = (255, 255, 255, 255) + ImageDraw.floodfill(image, (5,5), value=white) + ImageDraw.floodfill(image, (5,355), value=white) + font1 = ImageFont.truetype('tahomabd.ttf', 25) + font2 = ImageFont.truetype('tahomabd.ttf', 19) + draw = ImageDraw.Draw(image) + draw.text((20,260), 'Pastor Shane Wallis', (255,255,255), font=font1) + draw.text((20,294), 'Bible Study Wednesday May 18th, 2022', (255,255,255), font=font2) bio = BytesIO() image.save(bio, format = 'PNG') + image_col = sg.Column([[sg.Image(data=bio.getvalue(), key = '-IMAGE-')]]) + layout = [[control_col,image_col]] + return layout - window['-IMAGE-'].update(data = bio.getvalue()) +def main(): + image_path = 'blank_title.png' + original = Image.open(image_path) + layout = build_layout(image_path) + window = sg.Window('Harvest Christian Assembly Message Title', layout) + while True: + event, values = window.read(timeout=50) + if event == sg.WIN_CLOSED: + break -image_path = 'test.png' -image_path = sg.popup_get_file('Open', no_window = True) + update_image(window, + original, + values['-TITLE-'], + values['-SUBTITLE-'], + ) + if event == "-SAVE-": + save_path = sg.popup_get_file('Save', + save_as = True, + no_window = True) + '.png' + image.save(save_path, 'PNG') + window.close() -control_col = sg.Column([ - [ - sg.Frame('Title', - layout = [[sg.Input(key = '-TITLE-')]] - )], - [ - sg.Frame('SubTitle', - layout = [[sg.Input(key = '-SUBTITLE-')]] - )], - [ - 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() +if __name__ == "__main__": + main()