import PySimpleGUI as sg from PIL import Image, ImageDraw, ImageFilter, ImageFont, ImageOps from io import BytesIO # 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: 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()) 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 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 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() if __name__ == "__main__": main()