Merge pull request #2829 from PySimpleGUI/Dev-latest
New demo - Base64 single image encode
This commit is contained in:
commit
0b6c4c5b00
|
@ -0,0 +1,40 @@
|
||||||
|
import PySimpleGUI as sg
|
||||||
|
import base64
|
||||||
|
import pyperclip
|
||||||
|
|
||||||
|
"""
|
||||||
|
Make base64 image from a file
|
||||||
|
This is usually done in order to create a Base64 image for use as an Ucon or a Button image
|
||||||
|
To use, either copy and paste the full path to the file or use the browse button to locate the file.
|
||||||
|
Once chosen, the conversion will happen automatically with the result placed on the clipboard.
|
||||||
|
When complete, a popup window is shown that automatically closes after 1 second so you aren't bothered with having to close it
|
||||||
|
|
||||||
|
NOTE - if you're replacing your ICO file for your window with a base64 image, you will first need to convert your icon from
|
||||||
|
an ICO file into a PNG file. Encode the PNG file and then you'll be able to pass that value in your call to Window:
|
||||||
|
|
||||||
|
window = sg.Window('Window Title', layout, icon=icon)
|
||||||
|
|
||||||
|
Where icon is a variable you created using the contents of the clipboard folowing running this program.
|
||||||
|
|
||||||
|
Input: a single image file
|
||||||
|
Output: clipboard will contain the Base64 Byte String of the source image
|
||||||
|
"""
|
||||||
|
|
||||||
|
|
||||||
|
def convert_file_to_base64(filename):
|
||||||
|
try:
|
||||||
|
contents = open(filename, 'rb').read()
|
||||||
|
encoded = base64.b64encode(contents)
|
||||||
|
pyperclip.copy(str(encoded))
|
||||||
|
sg.popup('Copied to your clipboard!', auto_close=True, auto_close_duration=1)
|
||||||
|
except Exception as error:
|
||||||
|
sg.popup_error('Cancelled - An error occurred', error)
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
filename = sg.popup_get_file('Source Image will be encoded and results placed on clipboard', title='Base64 Encoder')
|
||||||
|
|
||||||
|
if filename:
|
||||||
|
convert_file_to_base64(filename)
|
||||||
|
else:
|
||||||
|
sg.popup_cancel('Cancelled - No valid file entered')
|
Loading…
Reference in New Issue