initial work on scaled image

This commit is contained in:
Fredrick W. Warren 2022-05-27 14:37:07 -07:00
parent 0315c129c1
commit f65f07a88e

View File

@ -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()