Ваш подход звучит довольно разумно для меня.
Как сказал Горди; вы, вероятно, не хотите восстанавливать изображение при каждом посещении, но ваш код для создания изображения и сохранения его в файловой системе в любом случае будет в значительной степени одинаковым. Затем вы можете использовать большую HTML-карту для определения «области» отдельного объявления. Это позволит вам иметь различный текст при наведении курсора мыши и URL при нажатии.
Опять же, у меня будет соблазн просто генерировать HTML-файл всякий раз, когда у вас появляется новый клиент. Я имею в виду, обновить вашу базу данных и использовать код .NET для генерации HTML. Но статическая HTML-страница со статическим изображением будет гораздо более производительной, чем динамическое построение чего-либо.