Компьютерный форум NoWa.cc

Компьютерный форум NoWa.cc (https://nowa.cc/index.php)
-   Delphi (https://nowa.cc/forumdisplay.php?f=300)
-   -   Очень быстрое сглаживание. (https://nowa.cc/showthread.php?t=230158)

And_V 19.07.2009 04:21

Очень быстрое сглаживание.
 
Пишу прогу где на форме имеется порядка 100 сигнальных элементов - компонент, имеющих по одному круглому шэйпу. Естественно возникла проблема сглаживания неровностей этих кружков. Пытаюсь отредактировать компонент TShape с добавлением антиалиазинга, но ничего не получается - начинает жутко тормозить перерисовка.
Как быть?

LynxMaster 31.07.2009 02:52

Re: Очень быстрое сглаживание.
 
DoubleBuffered

Freeon 31.07.2009 04:19

Re: Очень быстрое сглаживание.
 
А код перерисовки можно показать???
Сталкивался с подобной проблемой и было 3 грабли
1) циклы
2) память, которую просто сжиралась на ура
3) не стоит бросать на вывод результат обработки сектора сразу, лучше обработать все сектора и выкинуть готовую кругляшку

PS мое имхо... зачем ввязыватся в такие дебри из-за круглешка???
можно просто взять тот-же TImage и нарисовать два(три пять десять) идеально ровных и красивых круглешка
и в зависимости от события менять картинки. Вот и индикация сигнала (ресурсы только нужно будет отдельно хранить и при зупуске приложение закидывать картинки в поток, откуда потом и брать. Размер программы не увеличится а в памяти прибавится на размер картинки + 1-2 килобайта)

And_V 10.08.2009 23:28

Re: Очень быстрое сглаживание.
 
Цитата:

Сообщение от LynxMaster (Сообщение 2559103)
DoubleBuffered

Причем тут ЭТО???

Цитата:

Сообщение от Freeon (Сообщение 2559135)
зачем ввязыватся в такие дебри из-за круглешка???

там не только кругляшки, а еще скругленные прямоугольники.

Цитата:

Сообщение от Freeon (Сообщение 2559135)
можно просто взять тот-же TImage и нарисовать два(три пять десять) идеально ровных и красивых круглешка
и в зависимости от события менять картинки.

Кругляшки могут быть разного цвета с разной толщиной и цветом ободка. Кроме того у меня не совсем круги а компоненты - сигнальные элементы, включающие кроме шэйпа еще текст и панель. для разных состояний элемента разный набор цветов... вообщем не катят картинки. Шэйп надо.

На данный момент продвижки такие: при каждом изменении состояния определяю внутри компонента область где гарантированно находятся границы цветов (кольцо для круга, пересечение полос и секторов колец для прямоугольника) и там уже делаю обычное сглаживание.

Freeon 27.09.2009 17:17

Re: Очень быстрое сглаживание.
 
ТЫЦ
код не мой геде то нашел не помню где
отрыл среди полезных алгоритмов


Текущее время: 00:08. Часовой пояс GMT +3.

Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2026, vBulletin Solutions, Inc. Перевод: zCarot
Copyright ©2004 - 2026 NoWa.cc

Время генерации страницы 0.02343 секунды с 9 запросами