Да, GDI + будет достаточно. Все, что вам нужно, это иметь два изображения:
- Один будет содержать фон и будет «только для чтения»;
- Другой не будет иметь фона и будет содержать только точки, которые вы нарисовали.
Вам нужно будет просто нарисовать одно изображение поверх другого, а затем отобразить результат пользователю (не забывайте использовать двойную буферизацию).
Хотя я предлагаю хранить точки не на отдельном изображении, а в отдельном списке, потому что вам, возможно, потребуется выполнить некоторую обработку с ними позже. Итак, предположим, что вы используете буферное изображение, вам нужно нарисовать фон на буферном изображении, затем точки из списка и затем отобразить результат пользователю.
Я подумаю о дополнительном изображении для точек только с точки зрения кэширования, если необходимо.