initial work on scaled image
This commit is contained in:
		
							parent
							
								
									0315c129c1
								
							
						
					
					
						commit
						f65f07a88e
					
				
							
								
								
									
										110
									
								
								hcatitles.py
									
									
									
									
									
								
							
							
						
						
									
										110
									
								
								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() | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user