24-bit RGB -> 16-bit RGB

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
GM
programador
programador
 
Сообщения: 1427
Зарегистрирован: 24.06.2003 (Вт) 15:56
Откуда: 194.67.52.100

24-bit RGB -> 16-bit RGB

Сообщение GM » 19.12.2004 (Вс) 3:02

Перешел я в DirectDraw на 16-bit'ний цвет, и тут возникла проблема так как я юзаю цвет Magenta для прозрачных областей, то после перехода он перестал быть прозрачным.Вот тут то и вопрос, как перевести цвет с 24-bit в 16-bit?
P.S.Во всех туториалах юзают (включая Microsoft DirectX 7 SDK) черный цвет для прозрачных областей, видимо для простоты.
الفيجوال بيسك الرابح

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

Сообщение GSerg » 19.12.2004 (Вс) 6:58

Ну дык конечно - 0 он и есть 0 :)
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 19.12.2004 (Вс) 9:31

Афаик магента в 16bpp будет &H7C1F.
Хотя 16bpp-режимы бывают разные, может у тебя другой.
Изображение

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 20.12.2004 (Пн) 8:41

???
А я думал, что Magenta это &hFF00FF...
Lasciate ogni speranza, voi ch'entrate.

GM
programador
programador
 
Сообщения: 1427
Зарегистрирован: 24.06.2003 (Вт) 15:56
Откуда: 194.67.52.100

Сообщение GM » 20.12.2004 (Пн) 8:48

alibek писал(а):???
А я думал, что Magenta это &hFF00FF...

Это в 24-bit'ах, у меня получилось &HF81F, или 63519.
الفيجوال بيسك الرابح

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 21.12.2004 (Вт) 7:52

GM писал(а):
alibek писал(а):???
А я думал, что Magenta это &hFF00FF...

Это в 24-bit'ах, у меня получилось &HF81F, или 63519.

Оба варианта правильные: есть 5:6:5 и 5:5:5 режимы (в последнем старший бит не используется).
Поэтому я и говорил, что может у тебя один режим, а может другой.
Изображение

GM
programador
programador
 
Сообщения: 1427
Зарегистрирован: 24.06.2003 (Вт) 15:56
Откуда: 194.67.52.100

Сообщение GM » 21.12.2004 (Вт) 8:40

Tyomitch, а ты знаеш как можна сделать переводчик в моем формате?
الفيجوال بيسك الرابح

Dagobert
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 141
Зарегистрирован: 21.12.2002 (Сб) 6:48
Откуда: Russia

Сообщение Dagobert » 22.12.2004 (Ср) 6:23

В тему - прозрачность в 16-бит.
http://dagobert.scararegis.by.ru/ddraw_print.html
И когда руки дойдут перевести. :)

GM
programador
programador
 
Сообщения: 1427
Зарегистрирован: 24.06.2003 (Вт) 15:56
Откуда: 194.67.52.100

Сообщение GM » 22.12.2004 (Ср) 8:28

Dagobert писал(а):В тему - прозрачность в 16-бит.
http://dagobert.scararegis.by.ru/ddraw_print.html
И когда руки дойдут перевести. :)

Прикольная статейка 8)
الفيجوال بيسك الرابح

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 22.12.2004 (Ср) 11:08

GM писал(а):Tyomitch, а ты знаеш как можна сделать переводчик в моем формате?
Код: Выделить всё
Red * 2048 + Green * 32 + Blue

Red и Blue - от 0 до 31, Green - от 0 до 63.

Пример с магентой: 31 * 2048 + 31 = 63519 = &HF81F
Изображение


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

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

Сейчас этот форум просматривают: AhrefsBot, Google-бот и гости: 1

    TopList  
cron