![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Динамическое изменение TrayIcon.Icon
Человек © (2011-08-02 12:54:00)Здравствуйте. Нужно рисовать индикатор на TIcon динамически и присваивать его значение TrayIcon.Icon.
Проблема в том, что у TIcon отсутствует Canvas, и рисовать на нем нельзя. Фон для TIcon хранится в TImageList.
Я делаю так: получаю ImageList.GetBitmap, затем на этом TBitmap рисую что нужно, делаю ImageList.Insert и затем ImageList.GetIcon, где и получаю иконку. Но при этом почему-то теряется прозрачность (иконка изначально 32-битная).
У ImageList стоит ColorDepth = cd32Bit.
Delphi 2010, Win 7
QAZ (2011-08-03 15:24:00) [1]а где проблемма?
рисуеш картинку,рисуеш к ней маску прозрачностей
маску суеш в альфу и вуаля
Человек (2011-08-03 15:22:00) [2]
> sniknik © (03.08.11 14:28) [13]
черно белое на 4-х цветное
> поменять? канал, эта та же маска.
Попробую сегодня, отпишусь.
Человек (2011-08-03 15:18:00) [3]
> QAZ (03.08.11 15:12) [17]
> круто,а главно информативно
Когда мне нужен будет совет, как сделать "круто" и "информативно", я у тебя спрошу. А пока хочется все же узнать у адекватных людей, как корректно решить описанную проблему.
QAZ (2011-08-03 15:12:00) [4]круто,а главно информативно
Человек (2011-08-03 15:05:00) [5]
> хотелбы посмотреть твои 9999 состояний в квадрате 16х16
> точек
Две цифры вверху -- две внизу, шрифтом Small Fonts.
QAZ (2011-08-03 14:48:00) [6]
> У меня может быть 9999 состояний. Не вижу смысла генерировать
> их заранее, если они могут легко генерироваться в рантайме.
хотелбы посмотреть твои 9999 состояний в квадрате 16х16 точек
> Регет отлично рисует траффик. Многие программы выводят текст
незнай где там график,просто подвижные треугольники
про текст(Многие), хоть одну назови
> Palladin
главное не как можно,а как правильно
и образец для этого, собственно микрософт
sniknik (2011-08-03 14:29:00) [7]> 4-х цветное
блин, однобайтное, 256-цветное.
sniknik (2011-08-03 14:28:00) [8]> Например, в 32-битных изображениях не используются маски и TransparentColor, т.к. там есть полноценный альфа-канал.
я спрашивал принципиальную разницу...
http://base.vingrad.ru/view/2855-32-bitnyie-ikonki:-zakat-solntsa-vruchnuyu
единица в маске указывает на то, что изображение в данной точке не рисуется, ноль - соответственно рисуется. В 32-разрядном режиме на один пиксель приходится 4 байта, причём один из них - коэфициент прозрачности (0 - абсолютно прозрачно, 255 - абсолютно непрозрачно).
черно белое на 4-х цветное поменять? канал, эта та же маска.
Palladin (2011-08-03 14:07:00) [9]Регет отлично рисует траффик. Многие программы выводят текст. Это все по-твоему больные люди, как я понимаю...
Palladin (2011-08-03 14:06:00) [10]
> QAZ (02.08.11 21:54) [5]
Не совсем понял, почему никто не рисует? Религия запрещает? В чем проблемы то? Что именно подорвет здоровье ума?
Человек (2011-08-03 13:16:00) [11]
> sniknik © (02.08.11 19:49) [4]
> почему? какая принципиальная разница?
Например, в 32-битных изображениях не используются маски и TransparentColor, т.к. там есть полноценный альфа-канал.
QAZ (02.08.11 21:54) [5]
> никто и никогда в здравом уме не рисует динамически на иконках
> для треяделаются заранее несколько иконок и под нужное состояние
> загружается соответствующая
У меня может быть 9999 состояний. Не вижу смысла генерировать их заранее, если они могут легко генерироваться в рантайме.
DiamondShark (2011-08-03 12:48:00) [12]
> brother © (03.08.11 12:25) [8]
> на вкус и цвет...
А это не вопрос вкуса и цвета, это вопрос психического здоровья.
brother (2011-08-03 12:25:00) [13]на вкус и цвет...
QAZ (2011-08-03 12:19:00) [14]
> имхо рисуют на битмапе и ассоциируют с его иконкой
ну если только очень извращеные\"продвинутые" ;)
brother (2011-08-03 04:19:00) [15]> рисует динамически на иконках для трея
не уверен, имхо рисуют на битмапе и ассоциируют с его иконкой
QAZ (2011-08-02 21:54:00) [16]
> Человек (02.08.11 12:54)
никто и никогда в здравом уме не рисует динамически на иконках для трея
делаются заранее несколько иконок и под нужное состояние загружается соответствующая
sniknik (2011-08-02 19:49:00) [17]почему? какая принципиальная разница?
Человек (2011-08-02 17:21:00) [18]
> Сергей М. © (02.08.11 16:56) [2]
Для 32-битных иконок это неприменимо.
Сергей М. (2011-08-02 16:56:00) [19]http://www.delphimaster.net/view/2-1201335591
Человек (2011-08-02 13:00:00) [20]Вопрос в том, как корректно нарисовать на 32-битной иконке (TIcon), получаемой из ImageList что-нибудь, например, прямоугольник.