Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Сетка


Fenik ©   (2003-05-31 17:40:00) 

Нужно рисовать сетку без мерцания и торможения, как во многих графических редакторах при увеличенном масштабе. Есь какие ни будь идеи?


AlexT1000   (2003-06-12 16:35:00) [1]

уговорил


Fenik   (2003-06-12 16:19:00) [2]

Bitmap с сеткой накладывать быстрее, чем рисовать её каждый раз. Да и он занимает 1024*768/8 = 96Кб.


AlexT1000   (2003-06-12 15:52:00) [3]

только так как ты сделал (см длинное описание) так и надо делать
причем всегда!
рисование через двойной буфер есть правильно.
только необязательно хранить битмап для сетки, по-моему.
просто отрисовывай линии и все. не думаю что это сильно скажется на FPS(типа).

на счет памяти несогласен. 1024 * 768 * 3 = всего лишь 2.5 mb
времена борьбы за 20 байт памяти давно(недавно) миновали.


Fenik   (2003-06-12 00:07:00) [4]

> Конкретнее DoubleBuffered.

Не помогает.


SunSB   (2003-06-11 04:15:00) [5]

Почитай хелпы. Конкретнее DoubleBuffered.


Fenik   (2003-06-01 09:29:00) [6]

В догонку: размер 3кб.


Fenik   (2003-06-01 09:25:00) [7]

Всё, получилось. Но памяти тратится у-у... Создаю однобитный битмэп с сеткой под размер видимой части экрана и такой же битмэп 24-х битный (чистый). При рисовании на второй, сначала натягиваю само изображение, потом сетку, а потом только вывожу его на экран.
Короче, вот пример даже выложил. Кому интересно как рисовать сетку - качайте: http://fenik.front.ru/Sample.zip


Плохой человек   (2003-05-31 21:37:00) [8]

А что, простыми линиями - мерцает? Если рисовтаь их в памяти, а потом накладывать?


Fenik   (2003-05-31 20:12:00) [9]

Как я делал.
Например юзер рисует линию, я преобразовываю координаты, рисую в памяти, из памяти в увеличенном виде копирую на панель к примеру. Это всё безупречно работает. А сетку я пытался по-всякому рисовать, но всё плохо: в цикле рисовал линии; прямоугольники; создавал спец. битмэп и копировал.


Наверх

Титульная страница Поиск, карта сайта Написать письмо