All screens: drop gray text, matching the Journey fix
The epd4in0e panel's palette has no gray at all (just black/white/ yellow/red/blue/green -- see epd4in0e.py's putpalette), so any gray RGB fill gets Floyd-Steinberg dithered into a black/white checkerboard across the whole glyph body. At the small font sizes most of these screens use (Navidrome's artist/album/genre/source lines, Departures' direction/platform columns, Weather's description/forecast labels, Clock's date line, the placeholder messages), that reads as blurry, half-rendered text -- same root cause already fixed in Journey. Switched every gray fill/outline to solid black across navidrome.py, weather.py, departures.py, clock.py, and picture.py. Left the intentionally-faint row-divider hairlines (228,228,228) alone -- those are meant to almost disappear, not readable text. Removed departures.py's now-unused MUTED constant.
This commit is contained in:
1 parent
4c10ff94d2
commit
132e133b1d
5 files changed
+20
-21
No files matched your search
+4
-4
@@ -129,7 +129,7 @@ class WeatherScreen(Screen):
|
||||
settings.get("latitude") and settings.get("longitude")
|
||||
) else "Wetterdaten nicht verfügbar"
|
||||
mw = text_width(draw, msg, font)
|
||||
draw.text(((width - mw) / 2, height / 2), msg, font=font, fill=(120, 120, 120))
|
||||
draw.text(((width - mw) / 2, height / 2), msg, font=font, fill="black")
|
||||
return image
|
||||
|
||||
days = state.get("days") or []
|
||||
@@ -174,7 +174,7 @@ class WeatherScreen(Screen):
|
||||
|
||||
desc_y = temp_y + temp_h + temp_gap
|
||||
dw = desc_right - desc_left
|
||||
draw.text(((width - dw) / 2, desc_y - desc_top), desc, font=desc_font, fill=(90, 90, 90))
|
||||
draw.text(((width - dw) / 2, desc_y - desc_top), desc, font=desc_font, fill="black")
|
||||
|
||||
if has_forecast:
|
||||
forecast_y = current_h
|
||||
@@ -192,7 +192,7 @@ class WeatherScreen(Screen):
|
||||
|
||||
label = day["label"]
|
||||
lw = text_width(draw, label, label_font)
|
||||
draw.text((cx - lw / 2, y), label, font=label_font, fill=(60, 60, 60))
|
||||
draw.text((cx - lw / 2, y), label, font=label_font, fill="black")
|
||||
y += label_font.size * 1.4
|
||||
|
||||
draw_weather_icon(draw, day["kind"], cx, y + day_icon_size / 2, day_icon_size)
|
||||
@@ -200,6 +200,6 @@ class WeatherScreen(Screen):
|
||||
|
||||
temps = f"{round(day['high'])}°/{round(day['low'])}°"
|
||||
dtw = text_width(draw, temps, day_temp_font)
|
||||
draw.text((cx - dtw / 2, y), temps, font=day_temp_font, fill=(50, 50, 50))
|
||||
draw.text((cx - dtw / 2, y), temps, font=day_temp_font, fill="black")
|
||||
|
||||
return image
|
||||
Reference in new issue
Block a user