diff --git a/pilReadTest b/pilReadTest new file mode 100644 index 0000000..0a7821d --- /dev/null +++ b/pilReadTest @@ -0,0 +1 @@ +Jaki is the best. diff --git a/piltest.py b/piltest.py new file mode 100644 index 0000000..c21616d --- /dev/null +++ b/piltest.py @@ -0,0 +1,52 @@ +#Created by Justin Healy +#Based on logic from jsheperd from https://stackoverflow.com/a/27753869/190597 + +from __future__ import print_function +import string +from PIL import Image +from PIL import ImageFont +from PIL import ImageDraw +import numpy as np + +def char_to_pixels(text, path, fontsize): + + font = ImageFont.truetype(path, fontsize) + w, h = font.getsize(text) + image = Image.new('L', (w, h), 1) + draw = ImageDraw.Draw(image) + draw.text((0, 0), text, font=font) + arr = np.asarray(image) + arr = np.where(arr, 0, 1) + arr = arr[(arr != 0).any(axis=1)] + return arr + +def display(arr): + result = np.where(arr, '#', ' ') + #print("This gives an Array of Arrays, where reach contained Array is a row") + #print(result) + #print() + print('\n'.join([''.join(row) for row in result])) + +#I have used static coding successfully, now to set this as more reusable declarations rather than hard coding. +#Single Source to change for everything +#Read from file? +fileName = "/home/pi/Documents/pilReadTest" +pullFile = open(fileName,"r") +someString = pullFile.read() +#Font Path? +fontPath = "/usr/share/fonts/truetype/freefont/FreeMonoBold.ttf" +#font Size? +fontSize = 12 +#print("This was what was found in the File: "+str(someString)) +#print() +#print("Now putting each letter of the found string through the PIL Image Module") +#print() +for c in someString: + arr = char_to_pixels(c,fontPath,fontSize) + #print() + #This is the grid size results (w,h) + #print(arr.shape) + #print() + #print("This is the converted values of the AofAs, for each ROW in Result, the end product") + display(arr) + print() \ No newline at end of file