![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Аналоговые часы
исследователь © (2007-08-18 18:14:00)Такой вопрос: пишу программку-прото аналоговые часики, для души, с поддержкой скинов. Есть красивые картинки скинов, но фон циферблата в них градиентный. Отсюда вопрос: как закрашивать стрелку по событию таймера так, чтобы не было ее видно, ведь ее нужно будет отрисовывать в другом месте.
исследователь (2007-08-24 00:01:00) [21]Черт... Антон, Вы делали с альфаканалом? Я даже боюсь спросить, как это сделать на Delphi... Подскажете?
antonn (2007-08-23 21:41:00) [22]
> Неужели никто не догадался подсказать человеку насчет "мерцания"?
догадались, где то раньше, заодно предложив сделать окно с альфаканалом, и ободки исчезнут, и красотища будет страшшшшная:)
Ricks (2007-08-23 18:10:00) [23]Давно не заглядывал сюда. Неужели никто не догадался подсказать человеку насчет "мерцания"? Тогда это сделаю я :)
впиши в protected:
procedure WMEraseBkgnd(var Message: TWMEraseBkgnd); message WM_ERASEBKGND;
а в самой процедуре напиши:
procedure xxx.WMEraseBkgnd;
begin
message.result:=1;
end;
и все, мерцание исчезнет! :)
а саму картинку выводи в OnPaint, или сделай обработчик WM_PAINT, но для этого сначала изучи его. :)
исследователь (2007-08-23 10:48:00) [24]Давайте покажу скриншот: http://slil.ru/24767725
antonn (2007-08-22 23:49:00) [25]без скриншота я вообше не пойму, о чем разговор идет:)
исследователь (2007-08-22 12:27:00) [26]А у Вас, Антон, как это исправлено?
исследователь (2007-08-21 20:32:00) [27]Кто знает, как подправить?
исследователь (2007-08-21 17:24:00) [28]Кстати, со скинами шняга - по окружности формы идет ободок где-то в 1 пиксель...
исследователь (2007-08-21 16:14:00) [29]ааа точно понял))) Спасибо огромное!
antonn (2007-08-21 16:05:00) [30]это все строки результирущего изображения:)
другое дело, что их в 3 раза меньше, чем растянутое в 3 раза изображение:)
исследователь (2007-08-21 13:59:00) [31]я ЭТОпонимаю. Но ведь destrow - это не все строки картинки, а только первая треть их!!!
antonn (2007-08-21 13:55:00) [32]да я не пойму, что там непонятно:)
DestRow - строка пикселей, из которых будет состоять результирующиее изображение.
исследователь (2007-08-21 13:40:00) [33]Антон, Вы все же можете про DestRow ответить?
antonn (2007-08-21 12:41:00) [34]
>
> А где "центр" произвольно заданного региона ?
наверное там, где поставит его разработчик скина, который этот регион и нарисует
Сергей М. (2007-08-21 11:48:00) [35]
> создается регион, которые затем и присваивается форме
А где "центр" произвольно заданного региона ?
antonn (2007-08-21 11:39:00) [36]
> @!!ex © (21.08.07 09:40) [77]
>
> ИМХо применять альясинг ко всей картинке, при рисовании
> одной линии - слегка расточительно....
ко всей - да, но в примере указывается регион, в котором будет рисоваться стрелка, т.ч в худшем случае это будет квадрат с диагональю стрелки. А для всех стрелок (часы, минуты, секунды) почти весь вон, но зато сглажено.
исследователь (2007-08-21 11:27:00) [37]В любом случае создается регион, которые затем и присваивается форме.
Сергей М. (2007-08-21 11:16:00) [38]
> исследователь © (21.08.07 11:03) [79]
>
>
> я не понял, о чем ты.
О том что ты в самом изначальном вопросе упомянул про "поддержку скинов", в то время как скинами тут и не пахнет, а пахнет всего лишь банальной сменой/масштабированием статической фоновой картинки.
исследователь (2007-08-21 11:03:00) [39]
> Сергей М. © (21.08.07 10:21) [78]
Ты хоть номер поста ставь, я не понял, о чем ты.
Сергей М. (2007-08-21 10:21:00) [40]
> исследователь
Скин-механизмы работают совершенно по-иному.
То, о чем ты ведешь речь, к скинам имеет самое отдаленное отношение и сводится просто к смене/масштабированию статической фоновой картинки.