Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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
1-1312275277
Человек
2011-08-02 12:54
2013.09.08
Динамическое изменение TrayIcon.Icon


15-1364934603
Юрий
2013-04-03 00:30
2013.09.08
С днем рождения ! 3 апреля 2013 среда


11-1247762524
Ruzzz
2009-07-16 20:42
2013.09.08
Как вы работаете с RES файлами?


15-1364737450
ProgRAMmer Dimonych
2013-03-31 17:44
2013.09.08
Книги об общих принципах программирования


15-1364373642
brother_
2013-03-27 12:40
2013.09.08
Ностальгия по OS





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский