keyl

Урок перевода цветов из FFFFFF в 0х...

В теме 9 сообщений

Привет всем.
Я не знаю зачем я делаю эту тему :) Может кому надо будет)
Многие сталкивались с "незнанием" о переводе в такой тип цветов( 0хFF0000FF) - это красный цвет.
Хочу запилить маленький урок.
Вообщем берём нужный нам цвет в таком виде - {FFCC22} в самом начале пишем "0x" , далее наш цвет "FFCC22" и в конце дописываем "FF - это прозрачность",  всегда!
p.s должно получиться так:
 0xFFCC22FF (рандом цвет придуманный из головы) выглядит так: ТЕКСТ.

Разберём по пунктам:

  1. Берём нужный нам цвет, прим. FF00CC
  2. Добавляем в начале 0x , получается 0xFF00CC
  3. Затем добавляем FF в конце, и получаем 0xFF00CCFF , FF - это прозрачность.

Также можно юзать #define COLOR_COLOR 0xFF00CCFF, и допустим в SendClientMessage(playerid, COLOR_COLOR, "text"); .

И можно наоборот получить из 0xFFCC22FF - FFCC22, после 0х отсчитать 6 символов.

Автор: keyl1337
При копировании на другие порталы, указывайте меня!
з.ы если такое было на форуме, не серчайте ,я не увидел, и да, я искал :)

Отредактировано пользователем keyl1337
Причина: SCRIPTMAN , спасибо за замечание. Исправил.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для новичков самое оно!)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Во-первых, знаешь, что обозначают последние 2 символа?) Во-вторых, почему всегда "FF"?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

@SCRIPTMAN , ля, что-то связанное с оттенком цвета. FF - написал, ибо удобно так юзать)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

@keyl1337 это прозрачность. Она также указывается в процентах, т.е., если например 0xFF000050 - прозрачность 50%. Лучше добавить, т.к. новичкам будет полезно знать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Если коротко, то:

0x - это обозначение в Си-подобных ЯП того, что число шестнадцатеричное. 

Далее шесть цифр шестнадцатеричных цифр обозначают компоненты красного, зеленого и синего соответственно. Последние две цифры - прозрачность. 

К примеру: 

0xRRGGBBAA

RR - красный цвет 

GG - зеленый цвет

BB - синий цвет

AA - прозрачность

Допустимые значения от 0 до 255, в шестнадцатеричной с.с. соответственно от 00 до FF. 

@SCRIPTMAN насчет процентов, такой информации не нашел, если оставите ссылку, буду благодарен. 

 

Также оставлю пару макросов по переводу из десятеричного RGB (A) в hex: 

#define RGB(%0,%1,%2)    ((%0)<<24|(%1)<<16|(%2)<<8|0xAA) 
#define RGBA(%0,%1,%2,%3)    ((%0)<<24|(%1)<<16|(%2)<<8|(%3))  

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

@DEST я это где-то давно видел. Обычно у меня так и получается при рисовании TD

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

@SCRIPTMAN честно сказать не думаю, что это действительно проценты. 5016 = 8010. Это примерно 1/от 255

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

@DEST я до конца тоже не уверен, просто придерживаюсь этой мысли.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!


Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.


Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу