You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Another, more extreme example from 2026-09-28 ("Cosmic Latte: The Average Color of the Universe"). The APOD image is almost a solid #FFF8E7, so the white title and body text are nearly invisible.
Cause: in starhop.py, the title is drawn with a hard-coded fill=(255, 255, 255). The body multiline_text call passes no fill, so it uses Pillow's default ink, which is white in RGB mode. There's no outline, shadow or backing panel, and nothing checks how bright the image is behind the text.
Possible fixes (can be combined):
Choose the text color from brightness. Crop the area under the title and body, measure its average brightness (e.g. ImageStat.Stat(region.convert("L")).mean), and draw in black if the background is bright, white if it's dark.
Activity
asterizk commentedon Sep 28, 2026
Another, more extreme example from 2026-09-28 ("Cosmic Latte: The Average Color of the Universe"). The APOD image is almost a solid #FFF8E7, so the white title and body text are nearly invisible.
Cause: in
starhop.py, the title is drawn with a hard-codedfill=(255, 255, 255). The bodymultiline_textcall passes nofill, so it uses Pillow's default ink, which is white in RGB mode. There's no outline, shadow or backing panel, and nothing checks how bright the image is behind the text.Possible fixes (can be combined):
ImageStat.Stat(region.convert("L")).mean), and draw in black if the background is bright, white if it's dark.stroke_widthand a contrastingstroke_filltotext()andmultiline_text(), so the text stays readable on any background, including busy ones like White frame around original image yields only partially readable caption #6.Also, pass
fillexplicitly to the body text, not just the title. That keeps the two consistent and may be related to #5.Test case:
2026-09-28works well for a regression test, because the image is nearly one uniform light color.