Сначала расскажу, что я делаю сейчас, при том, что есть ощущение, что делаю это криво. Для рисования использую компонент: PictureBox. Можно, конечно, рисовать на чем угодно, но только внутри метода Paint. От PictureBox мне требуется объект для рисования, который можно получить:
graph := pictureBox1.CreateGraphics;
потом использую его для рисования в других местах, кроме Paint.
Что хотелось бы в идеале:
- Рисовать не сразу на экране, а на некотором внутреннем буфере, содержимое которого потом может быть моментально отображено в нужный момент.
- Изображение должно сохраняться и восстанавливаться после сворачивания или перекрытия окна. При этом алгоритм отрисовки, может быть достаточно сложен и длителен, он не должен повторяться в методе Paint, должно сохраняться само полученное изображение.
Подскажите, какие компоненты надо использовать, и как это правильно реализовать?