Модераторы: Akina
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Конвертирование цвета 
:(
    Опции темы
Некто
Дата 6.11.2004, 19:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 50
Регистрация: 11.5.2004

Репутация: нет
Всего: нет



Подскажите пожалуйста как на VB число, которым VB обозначает цвет конвертировать в число, которе использует библиотека DirectX для обозначения цвета. То есть есть число которое обозначает предположим зеленый цвет(&H0000C000&), а надо превратить его в число понятное для директа
PM MAIL   Вверх
Staruha
Дата 7.11.2004, 11:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1292
Регистрация: 1.2.2004
Где: Казань

Репутация: 2
Всего: 27



Может так
Код

QBColor (2) или

Код

RGB (0,255,0)



--------------------
Возмездие настигнет
PM MAIL   Вверх
-Mikle-
Дата 7.11.2004, 16:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Невидимка Vingrad'а
***


Профиль
Группа: Экс. модератор
Сообщений: 1672
Регистрация: 22.6.2003
Где: Казахстан, Астана

Репутация: 8
Всего: 59



Цитата
Подскажите пожалуйста как на VB число, которым VB обозначает цвет конвертировать в число, которе использует библиотека DirectX для обозначения цвета

Насколько я знаю, DirectX использует аппаратные цвета. То есть исходя из того, какой режим видео задашь(8 бит, 256, 16 бит и т.д). Таким образом, чтоб получить 16 битный цвет из 24 битного, тебе надо преобразовать три байта в два.
Например:
24 бит - это 3 байта, каждый говорит об уровне красного, зеленого и синего цветов
16 бит - это 2 байта, и там уровень RGB, задается так: 5 бит на синий, 6 бит - зеленый и 5 бит на красный, то есть всего 16 бит.

PS: Вообще, зачем тебе что то конвертировать? Я так думаю там для всего этого уже что-то есть, незнаю, не работал пока с графикой.


--------------------
Если тебе плюют в спину, значит ты впереди...
PM   Вверх
Некто
Дата 8.11.2004, 18:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 50
Регистрация: 11.5.2004

Репутация: нет
Всего: нет



А можно пример такой конвертации. Кстати вот зхачем мне это нужно. Одна из функций программы которую я пишу такова. Пользователь с помощью CommonDialog выбирает цвет а в него должен окраситься 3d объект.
PM MAIL   Вверх
Staruha
Дата 8.11.2004, 23:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1292
Регистрация: 1.2.2004
Где: Казань

Репутация: 2
Всего: 27



Я про такое читала у Падре, может получиться так
на форме размести текстовое поле, кнопку, и CommonDialog с именем CD1.
Код

Private Sub Command1_Click()
CD1.ShowColor
Обьект.BackColor = CD1.Color
End Sub



--------------------
Возмездие настигнет
PM MAIL   Вверх
Некто
Дата 9.11.2004, 10:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 50
Регистрация: 11.5.2004

Репутация: нет
Всего: нет



Этот совет конечно правилен. Но речь идет о изменении цвета 3d объекта созданного DirectX. И даже установить цвет для него я могу, но Vb и DirectX используют разные способы обзначения цвета.
PM MAIL   Вверх
cardinal
Дата 9.11.2004, 21:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


Профиль
Группа: Экс. модератор
Сообщений: 6003
Регистрация: 26.3.2002
Где: Германия

Репутация: 19
Всего: 99



http://www.vbstreets.ru/VB/Articles/65965.aspx
Цитата
В функции SetCooperativeLevel устанавливается разрешение экрана 800/600 пикселей и цветовой режим 16 бит на пиксель.

Сколько установил ты?


--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
Некто
Дата 10.11.2004, 21:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 50
Регистрация: 11.5.2004

Репутация: нет
Всего: нет



Функция вызывалась вот так:
Код

Call DDrawVer7.SetCooperativeLevel(Picture1.hWnd, DDSCL_NORMAL)

PM MAIL   Вверх
cardinal
Дата 10.11.2004, 21:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


Профиль
Группа: Экс. модератор
Сообщений: 6003
Регистрация: 26.3.2002
Где: Германия

Репутация: 19
Всего: 99



Вот превращение 24-bit цвета в 16-bit. Может тебе это надо... Попробуй.
http://www.vb-fun.de/cgi-bin/loadframe.pl?...s/tip0124.shtml


--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "VB6"
Akina

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по VB обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • Используйте теги [code=vb][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | VB6 | Следующая тема »


 




[ Время генерации скрипта: 0.0551 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.