![]() |
|
||||||||||
|
|||||
|
Встала такая задача: конвертировать во флеше из HSB в RGB.
Вот накидал немного, работает, но не совсем правильно. Вот спрашиваю совета. function hsb(h,s,v){ s=s/100; v=v/100; k=Math.ceil(h/60)%6; f=h/60-Math.ceil(h/60); p=v*(1-s); q=v*(1-f*s); t=v*(1-(1-f)*s); if(k==0){ r=v; g=t; b=p; } if(k==1){ r=q; g=v; b=p; } if(k==2){ r=p; g=v; b=t; } if(k==3){ r=p; g=q; b=v; } if(k==4){ r=t; g=p; b=v; } if(k==5){ r=v; g=p; b=q; } r=Number(Math.round(r*255)).toString(16); g=Number(Math.round(g*255)).toString(16); b=Number(Math.round(b*255)).toString(16); if(r.length==1){ r=r+r; } if(g.length==1){ g=g+g; } if(b.length==1){ b=b+b; } color="0x"+r+g+b; return color; } this.createEmptyMovieClip("triangle_mc", 1); triangle_mc.beginFill(hsb(155,81,84), 100); triangle_mc.moveTo(200, 200); triangle_mc.lineTo(300, 300); triangle_mc.lineTo(100, 300); triangle_mc.lineTo(200, 200); triangle_mc.endFill(); по поводу формулы конвертации можно глянуть тут
__________________
Ну все, теперь Забава м-о-я. Гы-гы, а корабль мой! |
|
|||||
|
Регистрация: Aug 2007
Сообщений: 467
|
Хм... если "самому разобраться", то зачем подсказки спрашивать на форуме ?
![]()
__________________
Лучше быть умным и иногда делать глупости, чем глупым и постоянно умничать! |
|
|||||
|
буду краток
модератор форума
Регистрация: Sep 2003
Адрес: Ближайшее Замкадье
Сообщений: 3,110
Записей в блоге: 28
|
неделю - две, три назад был топик с подробным разбором аналогичной ситуации.
Добавлено через 1 час 28 минут Что именно не правильно? В чем состоит ваш вопрос? -правильно ли я портировал алгоритм из википедии на AS2? -пралиьный ли алгоритм в википедии? Что именно?
__________________
Отряд Котовскага |
![]() |
![]() |
Часовой пояс GMT +4, время: 16:20. |
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | |
| Опции просмотра | |
|
|