Цитата:
Сообщение от -=Женек=-
Господа, нужна помощь.
Работаю в Builder XE, использую для рисования графики GDI+.
На TImage нарисована сеточка, а на сеточке толстая линия. Хочу перемещать эту линию нажатием на ее концы. То есть при перемещении линия должная стираться и рисоваться в новом месте.
Как это сделать? Если я буду каждый раз перерисовывать фон, будет мерцание. Может есть какой-то способ рисовать линию создавая ее как объект с параметрами? Наверняка в GDI есть какая-то функция для этого.
Спасибо.
|
1. У формы ставишь DoubleBuffered ->true
2. Координаты того чего хочешь нарисовать хранишь в массиве.
3. Я рисовал всё на PaintBox. Вешаешь в обработчике OnPaint. то что хочешь нарисовать. И когда происходит его вызов делаешь следующее.
3.1. Очищаешь холст.
3.2. Рисуешь координатную сетку (или что там у тебя)
3.3 Рисуешь из массива свои линии. (Скорее всего у тебя, координаты и матрица смежности, в случае если они соединены).
Делал по такому принципу. Мерцаний не заметил. Есть ещё метод когда сначала создают массив TBitMap и рисуют там, потом его копируют на холст. Но я делал по 1-ому способу и было всё ок.