![]() |
transformObject
colorObject.setTransform(transformObject)
Если свойству transformObject присвоить чрезвычайно высокое значение (например, transformObject.rb = 100000) то задаваемый цвет вычитается полностью. Почему так происходит? Кстати, если присвоить transformObject.rb еще большее значение, скажем, 135000 - все встает на свои места, и количество цвета обрезается по максимальному значению (255) |
clr = new Color(mc);
clr.setRGB(0xFFFFFF*1.5); ...какой цвет покажется? как ты думаешь? :) (а ведь задано значение в полтора раза больше максимального...) |
да, настоящий припротивный цвет вместо белого =)
видно я чего-то не догоняю... почитаю еще раз про Color, спасибо =) |
цвет кодируется шестью байтами RRGGBB
если число больше трехбайтового (больше 16777215 по десятичной системе счисления) - старшие байты просто отбрасываются. а в трансформе rb gb bb - это по одному байту.. если больше - старшие байты отбрасываются |
Спасибо, Нокс,
в принципе, мне понятно, о чем ты говоришь. И, как я понимаю, при 100000 происходит переполнение.. думаю, мне не хватает знаний по архитектуре компьютера, сегодня возьму что-нибудь почитать об этом. |
сейчас ломает экспериментировать, чтобы убедиться что всё именно так как я сказал :)
в принципе всё зависит только от того как построено преобразование аргументов в методе setTransform класса Color... надо влезть ручками покопаться :) |
а чего экспериментировать? Все так и есть - как ты сказал.
|
нет, не дает мне эта штука покоя
посоветовался с нашим программером на работе - он тоже в непонятках. я набросал исходник, если у тебя, канеш, есть время попробуй задать значение transformObject.rb 255 (11111111) - все славно, но если задать 255555 (111110011001000011 ) красный уходит в 0. О как |
Вложений: 1
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, время: 11:19. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.