Fonts choosed and prototype created -> 2025-01-26 20:19:12

This commit is contained in:
pepev-nrt 2025-01-26 20:19:37 +01:00
parent af6af03404
commit 7a933631d9
14 changed files with 84 additions and 4 deletions

BIN
assets/cal-icon2.aseprite Normal file

Binary file not shown.

BIN
assets/cal-icon2.bmp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

BIN
assets/cal-icon3.aseprite Normal file

Binary file not shown.

BIN
assets/cal-icon3.bmp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.9 KiB

After

Width:  |  Height:  |  Size: 3.9 KiB

BIN
assets/prototype.bmp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

BIN
assets/test-characters.bmp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

View file

@ -60,9 +60,9 @@ def main():
draw.line([(0,16),(250,16)], fill = 0,width = 2) draw.line([(0,16),(250,16)], fill = 0,width = 2)
draw.line([(125,16),(125,122)], fill = 0,width = 2) draw.line([(125,16),(125,122)], fill = 0,width = 2)
cal_icon = Image.open(os.path.join(assets, "cal-icon.bmp")) cal_icon = Image.open(os.path.join(assets, "cal-icon3.bmp"))
image.paste(cal_icon, (129,24)) image.paste(cal_icon, (129,20))
draw.text((160, 26), 'Agenda', font = font16_bold, fill = 0) draw.text((160, 26), 'Agenda', font = font16_bold, fill = 0)
@ -83,8 +83,8 @@ def main():
from display.display import DisplayHelper from display.display import DisplayHelper
displayService = DisplayHelper(screenWidth, screenHeight) displayService = DisplayHelper(screenWidth, screenHeight)
displayService.update(image.rotate(rotateAngle)) # go to sleep displayService.update(image.rotate(rotateAngle)) # Displays the image
displayService.clear() #displayService.clear()
displayService.sleep() # go to sleep displayService.sleep() # go to sleep

80
test/test_characters.py Normal file
View file

@ -0,0 +1,80 @@
#!/usr/bin python3
# -*- coding: utf-8 -*-
"""
This script is created to test the different fonts installed. It may return error if some of them are missing.
"""
import datetime as dt
import json
import os
import sys
from PIL import Image,ImageDraw,ImageFont
def main():
# Basic configuration settings (user replaceable)
# config.json is in the root folder
configFile = open(os.path.join(os.path.dirname(os.path.dirname(os.path.realpath(__file__))), 'config.json'))
config = json.load(configFile)
isDisplayConected = config['isDisplayConected'] # set to true when debugging rendering without displaying to screen
screenWidth = config['screenWidth'] # Width of E-Ink display. Default is landscape. Need to rotate image to fit.
screenHeight = config['screenHeight'] # Height of E-Ink display. Default is landscape. Need to rotate image to fit.
imageWidth = config['imageWidth'] # Width of image to be generated for display.
imageHeight = config['imageHeight'] # Height of image to be generated for display.
rotateAngle = config['rotateAngle'] # If image is rendered in portrait orientation, angle to rotate to fit screen
hourFormat = config['hourFormat'] # The format the hour will be displayed. eg. 13:02 or 01:02 PM
# Set the hour, this is important to see what time the e-Paper has been syncronized
if hourFormat == "12h":
time = dt.datetime.now().strftime("%I:%M %p")
else:
time = dt.datetime.now().strftime("%H:%M")
assets = os.path.join(os.path.dirname(os.path.dirname(os.path.realpath(__file__))), 'assets')
fontsdir = os.path.join(assets, 'fonts')
# Drawing on the image
font15 = ImageFont.truetype(os.path.join(fontsdir, 'wavesharefont.ttc'), 15)
font24 = ImageFont.truetype(os.path.join(fontsdir, 'wavesharefont.ttc'), 24)
# pixel_operator fonts
font8 = ImageFont.truetype(os.path.join(os.path.join(fontsdir, 'pixel_operator'), 'PixelOperator8.ttf'), 8)
font8_bold = ImageFont.truetype(os.path.join(os.path.join(fontsdir, 'pixel_operator'), 'PixelOperator8-Bold.ttf'), 8)
font16 = ImageFont.truetype(os.path.join(os.path.join(fontsdir, 'pixel_operator'), 'PixelOperator.ttf'), 16)
font16_bold = ImageFont.truetype(os.path.join(os.path.join(fontsdir, 'pixel_operator'), 'PixelOperator-Bold.ttf'), 16)
# Better VCR font
font16_2 = ImageFont.truetype(os.path.join(fontsdir, 'Better VCR 9.0.1.ttf'), 16)
font8_2 = ImageFont.truetype(os.path.join(fontsdir, 'Better VCR 9.0.1.ttf'), 12)
image = Image.new('1', (imageWidth, imageHeight), 255) # 255: clear the frame
draw = ImageDraw.Draw(image)
draw.text((0, 0), f"Pixel Operator 16 bold", font = font16_bold, fill = 0)
draw.text((0, 16), f"Hacer la compra", font = font16, fill = 0)
draw.text((0, 32), f"Pasear al gato", font = font16, fill = 0)
draw.text((0, 48), f"Escribir un post en Mastodon", font = font16, fill = 0)
image.save(os.path.join(assets, 'test-characters.bmp'))
if isDisplayConected:
# This line is necesary to be able to acceass the modules from this folder
# We are basically adding the root folder of the proyect to the path
sys.path.append(os.path.dirname(os.path.dirname(os.path.realpath(__file__))))
from display.display import DisplayHelper
displayService = DisplayHelper(screenWidth, screenHeight)
displayService.update(image.rotate(rotateAngle))
displayService.clear()
displayService.sleep() # go to sleep
if __name__ == "__main__":
main()

0
test/test_weather.py Normal file
View file

0
weather/__init__.py Normal file
View file

0
weather/weather.py Normal file
View file