Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "KOL";
Текущий архив: 2005.01.30;
Скачать: [xml.tar.bz2];

Вниз

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

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

Как установить битмапу тип там 8бит или 24 бита или 32 бита?
Каков алгоритм преобразовывания цвета из 32бит в 24 бита и обратно?


 
SPeller ©   (2004-06-17 06:21) [1]

Bitmap.PixelFormat := pf24bit (pf1bit, pf8bit, etc)


 
Sormy   (2004-06-17 10:31) [2]

Это я уже пробовал, но ничего из этого не вышло. Даже если я битмапу задаю 1 бит, он все равно цветным загружается...
Есть номер цвета в типе WORD. Но если пикселам присваивать его цвет, то цвет неправильно отображается... Как преобразовать номер 24 битного цвета в 32 битные и обратно?


 
SPeller ©   (2004-06-17 11:51) [3]

Ты после загрузки PixelFormat присваивай.


 
Sormy   (2004-06-17 12:20) [4]

Да... Работает...
но все равно отображается не так как надо...
Это видимо потому что исходный 24битный цвет имеет другой формат нежели стандартный 24битный виндовый.
Не знаешь, как у integer"a допустим только первый байт прочитать или только второй в пременную типа byte???


 
SPeller ©   (2004-06-17 13:35) [5]

А ты хотел чтобы 24 бита после преобразования в 8 бит выглядели так же?


 
Sormy   (2004-06-17 14:28) [6]

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


 
SPeller ©   (2004-06-17 16:21) [7]

Значит палитра используется своя какая-то. В справке так и написано "The bitmap has a maximum of 256 colors, and the bmiColors member contains up to 256 entries. In this case, each byte in the array represents a single pixel." bmiColors - это и есть размер палитры. Теперь тебе нужно только узнать какую палитру использует игра и при сохранении своих битмапов преобразовывать к нужному формату. Как? Это уже не в этой конференции.


 
Gandalf ©   (2004-06-17 19:41) [8]

Скажу больше в целом это и не тот сайт.


 
SPeller ©   (2004-06-17 20:03) [9]

Ну почему же не тот? Вопрос по работе с битмапом, по-моему, вполне подходит к разделу Media.


 
Dimaxx   (2004-06-22 21:39) [10]

Пользуясь случаем спрошу: нет у кого исходников оптимизации палитры методом Floyd-Steinberg? Желателен паскаль.


 
Gandalf ©   (2004-06-23 23:56) [11]

Про google не слышал?
http://www.vclcomponents.com/search.asp?ID_CATEGORY=173&PGIX=14


 
Dimaxx   (2004-06-24 22:50) [12]

Сырцов нет и под D4. К тому же шаровары. Нужны сырцы. Хотя бы .obj сишный. Чтоб прилинковать мона было.



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

Форум: "KOL";
Текущий архив: 2005.01.30;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.038 c
1-1106063087
rolex
2005-01-18 18:44
2005.01.30
Как отловить сообщение о восстановлении/разворачивании окна?


1-1106143494
vic1
2005-01-19 17:04
2005.01.30
ComboBox


1-1105898520
Dmitry_04
2005-01-16 21:02
2005.01.30
Как мне определить какой стиль шрифта в Label-е?


8-1097942663
TeNY
2004-10-16 20:04
2005.01.30
Формат изображения в TPicture


1-1106150726
mr_jack
2005-01-19 19:05
2005.01.30
типы переменных





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский