рАБОТА с гРАФИКОЙ
Требуется написать программу типа редактора карты города. Программа должна уметь рисовать улицы, дома, искать их и пр. Но не это главное. Эта программа подразумевает рисование множества объектов. Рисование на канве формы приведет к понижению производительности (долгая перерисовка). Такие функции как изменение масштаба или перемещение в реальном времени (как в AutoCade) вообще реализовать будет не реально опять же из-за долгой перерисовки.
Скажите есть ли способ реализовать графику в Билдере на подобии AutoCada?
Если можно приведите исходный текст рисования, скажем, линии предлагаемым вами способом или может есть где сайты где подробно описано решение данной проблемы.
Спасибо.
IMHO единственный вариант: рисовать в буфер (можно даже собственными алгоритмами оптимизированными под конкретное цветовое разрешение(тем более, что стандартные, вроде, универсальные и в частных случаях могут тормозить)) а потом кидать его на канву как битовый образ.
Используй DirectDraw, на нем уж точно ничего тормозить не будет.
Создаешь объект класса TBitmap. Рисуешь на нем с помощью функции ScanLine (посмотри Билдеровский пример), а потом выводишь на канву. Получается довольно быстро.
Если надо реализовать графику на уровне AutoCada или подобных сред, то смотри в сторону DirectDraw или OpenGL, они как раз их и юзают. По поводу ссылок: