![]() |
|
||||||||||
|
|
|
|||||
|
Регистрация: Jul 2003
Адрес: Петербург
Сообщений: 432
|
colorObject.setTransform(transformObject)
Если свойству transformObject присвоить чрезвычайно высокое значение (например, transformObject.rb = 100000) то задаваемый цвет вычитается полностью. Почему так происходит? Кстати, если присвоить transformObject.rb еще большее значение, скажем, 135000 - все встает на свои места, и количество цвета обрезается по максимальному значению (255) |
|
|||||
|
don't panic!
Регистрация: Aug 2001
Сообщений: 4,121
|
clr = new Color(mc);
clr.setRGB(0xFFFFFF*1.5); ...какой цвет покажется? как ты думаешь? :) (а ведь задано значение в полтора раза больше максимального...) |
|
|||||
|
Регистрация: Jul 2003
Адрес: Петербург
Сообщений: 432
|
да, настоящий припротивный цвет вместо белого =)
видно я чего-то не догоняю... почитаю еще раз про Color, спасибо =) |
|
|||||
|
don't panic!
Регистрация: Aug 2001
Сообщений: 4,121
|
цвет кодируется шестью байтами RRGGBB
если число больше трехбайтового (больше 16777215 по десятичной системе счисления) - старшие байты просто отбрасываются. а в трансформе rb gb bb - это по одному байту.. если больше - старшие байты отбрасываются Последний раз редактировалось Nox Noctis; 09.06.2004 в 14:50. |
|
|||||
|
Регистрация: Jul 2003
Адрес: Петербург
Сообщений: 432
|
Спасибо, Нокс,
в принципе, мне понятно, о чем ты говоришь. И, как я понимаю, при 100000 происходит переполнение.. думаю, мне не хватает знаний по архитектуре компьютера, сегодня возьму что-нибудь почитать об этом. |
|
|||||
|
don't panic!
Регистрация: Aug 2001
Сообщений: 4,121
|
сейчас ломает экспериментировать, чтобы убедиться что всё именно так как я сказал :)
в принципе всё зависит только от того как построено преобразование аргументов в методе setTransform класса Color... надо влезть ручками покопаться :) |
|
|||||
|
Регистрация: Jul 2003
Адрес: Петербург
Сообщений: 432
|
а чего экспериментировать? Все так и есть - как ты сказал.
|
|
|||||
|
Регистрация: Jul 2003
Адрес: Петербург
Сообщений: 432
|
нет, не дает мне эта штука покоя
посоветовался с нашим программером на работе - он тоже в непонятках. я набросал исходник, если у тебя, канеш, есть время попробуй задать значение transformObject.rb 255 (11111111) - все славно, но если задать 255555 (111110011001000011 ) красный уходит в 0. О как Последний раз редактировалось dm_nev; 10.06.2004 в 22:00. |
|
|||||
|
Регистрация: Jul 2003
Адрес: Петербург
Сообщений: 432
|
color
|
|
|||||
|
clr = new Color(mc);
clr.setRGB(255<<16|0<<8|0); // красный clr.setRGB(0<<16|255<<8|0); // зелёный clr.setRGB(0<<16|0<<8|255); // синий Так, по моему, проще... или нет?
__________________
судью - на мыло, из игроков - вить веревки. |
![]() |
Часовой пояс GMT +4, время: 15:51. |
|
|
« Предыдущая тема | Следующая тема » |
|
|