Working PoC with Scrolling Logic!
This commit is contained in:
34
supporting_files/framebuf-test.py
Normal file
34
supporting_files/framebuf-test.py
Normal file
@@ -0,0 +1,34 @@
|
||||
# SPDX-FileCopyrightText: 2020 Melissa LeBlanc-Williams, written for Adafruit Industries
|
||||
# SPDX-License-Identifier: MIT
|
||||
#!/usr/bin/python3
|
||||
"""
|
||||
Be sure to check the learn guides for more usage information.
|
||||
|
||||
This example is for use on (Linux) computers that are using CPython with
|
||||
Adafruit Blinka to support CircuitPython libraries. CircuitPython does
|
||||
not support PIL/pillow (python imaging library)!
|
||||
|
||||
Author(s): Melissa LeBlanc-Williams for Adafruit Industries
|
||||
"""
|
||||
import board
|
||||
import neopixel
|
||||
from PIL import Image
|
||||
from adafruit_pixel_framebuf import PixelFramebuffer
|
||||
|
||||
pixel_pin = board.D18
|
||||
pixel_width = 8
|
||||
pixel_height = 16
|
||||
|
||||
pixels = neopixel.NeoPixel(
|
||||
pixel_pin, pixel_width * pixel_height, brightness=0.1, auto_write=False,
|
||||
)
|
||||
pixel_framebuf = PixelFramebuffer(pixels, pixel_width, pixel_height, reverse_x=True,alternating=True)
|
||||
pixel_framebuf.fill(0x000000)
|
||||
pixel_framebuf.display()
|
||||
pixel_framebuf.text("H", 0, 0, 0x00FF00)
|
||||
pixel_framebuf.display()
|
||||
pixel_framebuf.text("i", 0, 8, 0x00FF00)
|
||||
pixel_framebuf.display()
|
||||
|
||||
|
||||
|
||||
1
supporting_files/pilReadTest
Normal file
1
supporting_files/pilReadTest
Normal file
@@ -0,0 +1 @@
|
||||
Jaki is the best.
|
||||
52
supporting_files/piltest.py
Normal file
52
supporting_files/piltest.py
Normal file
@@ -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, '1', '0')
|
||||
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 = "pilReadTest"
|
||||
pullFile = open(fileName,"r")
|
||||
someString = pullFile.read()
|
||||
#Font Path?
|
||||
fontPath = "fonts/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()
|
||||
Reference in New Issue
Block a user