Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.10.24;
Скачать: CL | DM;

Вниз

Как преобразовывать палитры цветов?   Найти похожие ветки 

 
Sormy   (2004-06-17 17:00) [0]

Так мы особо не наговорим...
Излагаю проблему полностью...
Я занимаюсь переводом игры Divine Divinity. Вскрыл все формат текстовых ресурсов... Теперь надо перевести шрифт... долго не мог допереть по какому алгоритму он написан... Теперь понял... Сейчас пишу редактор шрифтов... Все нормально открывает, но цвета не совпадают в игре и в моей проге...
В файле под каждый пиксел выделяется 2 байта, я подумал, что стандартный 16битный цвет, но, видимо, ошибся... Теперь бы надо как-нить его заставить нормально отображаться... Я уже начинаю думать, что какой-то из них под альфа канал установлен, хотя прозрачных шрифтов в игре не видел...


 
MBo ©   (2004-06-17 17:05) [1]

может, там 15-битный r5g5b5?


 
cyborg ©   (2004-06-17 17:25) [2]

Может красный и синий местами поменять?


 
NailMan ©   (2004-06-17 18:33) [3]

MBo ©
Что-то давно я не видел r5g5b5, обычно юзаются r5g6b5

---
WBR, NailMan aka 2:5020/3337.13


 
Sormy   (2004-06-17 19:34) [4]

Да вроде больше на r5g6b5 смахивает, но как бы преобразовать...
Оооо... игра может и тот и тот формат читать - в экзешнике нарыл скрытые опции...
ммм... вы правы...
Только один вопрос остается: Как бы преобразовать в стандартную палитру винды pf16bit но?


 
Sormy   (2004-06-18 15:54) [5]

Вскрыл до конца...
Спасибо за намек, а то меня что-то заклинило на стандартной палитре винды...
Вот процедура преобразующая цвет из ML Font в стандартный виндовый...

function word2rgb(w:word;pix_num:word):longint;
var
 s,sr,sg,sb:string;
 res:longint;
 r,g,b:byte;
begin
 s:=Ten2Two(w,16);
 sr:=copy(s,1,5);
 sg:=copy(s,6,6);
 sb:=copy(s,12,5);
 r:=8*(Any2Ten(sr,2)+1)-1;
 b:=8*(Any2Ten(sb,2)+1)-1;
 case (pix_num+1) mod 3 of
   1: g:=4*Any2Ten(sg,2)-1;
   2: g:=4*(Any2Ten(sg,2)+2)-1;
   0: g:=4*(Any2Ten(sg,2)+1)-1;
 else
   msgok("Ошибка загрузки палитры!");
 end;
 res:=rgb(r,g,b);
 word2rgb:=res;
end;


pix_num - номер пиксела...



Страницы: 1 вся ветка

Текущий архив: 2004.10.24;
Скачать: CL | DM;

Наверх




Память: 0.45 MB
Время: 0.031 c
1-1097058760
Wish
2004-10-06 14:32
2004.10.24
Invalid class typecast


14-1096545021
1008
2004-09-30 15:50
2004.10.24
Существует ли возможность изменить цвет заголовка у TabSheet?


14-1096142345
Verg
2004-09-25 23:59
2004.10.24
И все-таки инверсия


1-1097156059
Ja
2004-10-07 17:34
2004.10.24
MessageBox в процедуре ScrollBar1Scroll


3-1095599453
Dio
2004-09-19 17:10
2004.10.24
Установка проекта





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский