Мне нравится вариант 1 :)
Задача несложная, под любой язык можно найти адекватную библиотеку, которая работает с изображениями (часто они по дефолту уже идут в комплекте).
Вот есть реализация в 7 строчек кода на питоне (он простой + низкий порог вхождения)
https://en.wikibooks.org/wiki/Python_Imaging_Libra...
Разбирая код, можно заметить, что работа с изображением идет как с двумерным массивом. В твом случае с цифрами, ты можешь заранее предопределить каждую цифру, как двумерный массив. И просто генерировать "изображение" из шаблонов :)