![]() |
|
||||||||||
|
|||||
|
Регистрация: Oct 2003
Адрес: Odessa
Сообщений: 30
|
Народ помогите.
Написал формулу для заливки объекта определенным цветом зависящим от введенного значения: function SetColor(Nameobject,minColor,maxColor, minValue, maxValue, Value) { myColor = minColor + ((maxColor-minColor)*(Value-minValue))/maxValue-minValue; RGB = (maxColor-Math.round(myColor) << 16 | maxColor-Math.round(myColor) << 8 | maxColor-Math.round(myColor)); myColor = new Color(Nameobject); myColor.setRGB(RGB); } minValue, maxValue мин и макс значения, берутся из массива. minColor,maxColor вводятся вручную. Value значение для которого рассчитывается цвет. Так вот, формула работает только по какому-нибудь одному цвету. К примеру от светложелтого то то насыщенного желтого. А мне надо чтобы она работала по всем трем составляющим цвета. К примеру minColor будет желтый, а maxColor будет зеленый. Но уменя нифига не выходит. Помогите!!!!!!! |
|
|||||
|
Регистрация: Oct 2003
Адрес: Odessa
Сообщений: 30
|
Да мне надо закрасить карту с помощью градации цветов, да и еще чтобы цвет зависел от введенных значений,
а Color.setTransform(obj) не подходит. Но я уже ее написал, вот: function SetColor(Nameobject,minnColor,maxxColor, minnValue, maxxValue, Vvalue) { var minColor = minnColor.toString(); var maxColor = maxxColor.toString(); if (minColor == 0){ var irmin = 0; var igmin = 0; var ibmin = 0; } else { var irmin = minColor.substring(0, 3); var igmin = minColor.substring(3, 6); var ibmin = minColor.substring(6, 9); } if (maxColor == 0){ var irmax = 0; var igmax = 0; var ibmax = 0; } else{ var irmax = maxColor.substring(0, 3); var igmax = maxColor.substring(3, 6); var ibmax = maxColor.substring(6, 9); } minValue = minnValue/3; maxValue = maxxValue/3; Value = Vvalue/3; r = Number(irmin) + ((Number(irmax)-Number(irmin))*(Number(Value)-Number(minValue)))/Number(maxValue)-Number(minValue); g = Number(igmin) + ((Number(igmax)-Number(igmin))*(Number(Value)-Number(minValue)))/Number(maxValue)-Number(minValue); b = Number(ibmin) + ((Number(ibmax)-Number(ibmin))*(Number(Value)-Number(minValue)))/Number(maxValue)-Number(minValue); RGB = (r << 16 | g << 8 | b); myColor = new Color(Nameobject); myColor.setRGB(RGB); } Не подскажешь как написать функцию с необязательным параметром??? |
|
|||||
|
на flash xchange где то валялся отличный компонент color picker
посмотри, может поможет |
![]() |
Часовой пояс GMT +4, время: 01:33. |
|
|
« Предыдущая тема | Следующая тема » |
|
|