Ваш выбор сводится к двум стратегиям:
1) Составьте их на клиенте в браузере, наложив в основном прозрачное изображение поверх основного. Это, вероятно, проще, и требует навыков HTML и CSS, но будет одинаковым методом, независимо от того, работает сервер Asp.net или нет. Но у него есть недостаток в том, что тот, кто знает, что он делает, может вытащить весь образ из-за наложения. Это может или не может быть то, что вас волнует.
2) Составьте их на сервере. Вы можете сделать это в .Net, используя варианты для этой техники . Он будет использовать больше ресурсов сервера, но клиенту будет отправлено только готовое изображение. Это более уместно, когда изображение отличается для каждого пользователя, или вы не хотите отправлять изображение без наложения.