Как получить RGB из значения с типом Long

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
XairOn
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 324
Зарегистрирован: 19.07.2004 (Пн) 20:20
Откуда: Irkutsk region

Как получить RGB из значения с типом Long

Сообщение XairOn » 08.03.2005 (Вт) 11:44

Здравствуйте, у меня такой вопрос: в моей программе у пользователя есть возможность выбрать цвет (неважно чего), нажав на соответсвующую кнопку открывается окно выбора цвета (CommonDialg, ShowColor) после нажатия на кнопку OK в Color возвращается значение цвета типа Long, а мне нужно из этого значения получить его представление в RGB... как это сделать???

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 08.03.2005 (Вт) 11:47

Как из Long получить Long? Это очень сложный вопрос... Не знаю :)
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Amed
Алфизик
Алфизик
 
Сообщения: 5346
Зарегистрирован: 09.03.2003 (Вс) 9:26

Сообщение Amed » 08.03.2005 (Вт) 11:53

Код: Выделить всё
Dim c As Long, r As Long, g As Long, b As Long

c = RGB(255, 155, 255)

r = c \ 65536
g = (c - r * 65536) \ 256
b = (c - r * 65536) - g * 256

MsgBox r & " " & g & " " & b

XairOn
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 324
Зарегистрирован: 19.07.2004 (Пн) 20:20
Откуда: Irkutsk region

Сообщение XairOn » 08.03.2005 (Вт) 13:17

2 GSerg > Очень смешно... ну неправильно выразился... нужно было спросить, как из этого значения выделить каждую составляющую цветов RGB, но на этот вопрос мне уже ответил Amed, за что ему большое спасибо!!!

vvs_adm
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1492
Зарегистрирован: 03.02.2005 (Чт) 3:45
Откуда: оттуда ;)

Сообщение vvs_adm » 09.03.2005 (Ср) 18:23

Код: Выделить всё

Red = Color Mod &HFF
Green = (Color \ &H100) Mod &HFF
Blue = (Color \ &H10000) Mod &HFF

А так не лучше? :shock:


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 70

    TopList  
cron