As I read your "why's it hacky" explanation, my thoughts were:
Nah, that's not hacky, that's brilliant.
Still not hacky.
Still loving it.
Grayscale? Such a cool idea.
And contrast to finish. Perfect. Why is any of this hacky?
"But it doesn't know where the text is over the image, so it gets the colours from the top left corner." -- Ahhhhh.... and that's where the hack hits the fan.
We're a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.