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