![]() |
Rgb послогам
проблема заключается в том что не получается разделить RGB на три шеснацетиричных числа R , G и B тоесть 0x034FC3 представить ка 0x03,0x4f,0xC3 написал две функции
1 все раотает но слишком грамовски и возврошает стринг Код:
function decolorRGB(color) {Код:
function decolorRGB(color) { |
вторая функция не работает из-за того что тип данных у нас НЕ трехбайтовый - а значит смещение влево не удалит самые большие разряды числа, которые по задумке должны были бы стереться при выходе за рамки размеров типа...
(color << 8) >> 16; // это фигня хотя мысль была верная :) Код:
function decolorRGB(color) { |
Вот такая же хрень. Только легче.
Код:
function decolorRGB(col){Странные вещи ты пытаешься сделать. А зачем? У тебя уже ЕСТЬ эти значения (R,G,B). Я понимаю, если ты хочешь сделать ползунки для изменения (setTransform) цвета объекта. И тогда ты привязывал бы положение ползунка к значениям ra, rb, ga, gb, ba, bb, aa, ab, которые выражены в Number. Вот тогда бы к этим цифрам (Number) можно было бы применить toString(16). |
ай шайтан :)
и правда все еще проще... акелла промахнулся :) а нужно может быть такое преобразование, например, если надо сделать установки цвета объекта в виде выбора RGB в трех текстовых окошках в шестнадцатиричной форме.. других вариантов использования что-то не вижу.. |
Цитата:
|
всем спосибо
Цитата:
Код:
color = (r<<16 | g<<8 | b<<0) |
Цитата:
|
Вложений: 1
Цитата:
Цитата:
2Nox Цитата:
В этом же аттачменте – есть и простенький пример пипетки. |
Opex, только что прочитал твой ответ menik(у). И твой же код. Такой подход бедноват и ущербен.
А давай попробуем в том направлении, которое я предложил. Код:
_root.createEmptyMovieClip("muv1", 1); |
мне ненужен быстрый результат мне кокраз и хочется разобратся как происходит вычисление ргб на затемнение вот в чем фишка такой способ как ты предложил мне в голову прешол первым но серовно спосибо лудьше бы помог не как не могу врубится в эти вычисления допустим если цвет 0x343434 то для затемнения можно просто уменьшать значение R G и B на одну велечину а вот как работать на пример с этим 0x234412 тут как то по процентно надо расчитывать но не как не врублюсь как
|
| Часовой пояс GMT +4, время: 12:26. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.