IPB
ЛогинПароль:

> Правила раздела!

1. Заголовок или название темы должно быть информативным !
2. Все тексты фрагментов программ должны помещаться в теги [code] ... [/code] или [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ" и используйте ПОИСК !
4. НЕ используйте форум для личного общения!
5. Самое главное - это раздел теоретический, т.е. никаких задач и программ (за исключением небольших фрагментов) - для этого есть отдельный раздел!

 
 Ответить  Открыть новую тему 
> соответствие кодов цветов Dos и Windows, нужно найти
сообщение
Сообщение #1


Гость






помогите кто может! срочно нужна таблица соответствия кодов цветов для DOSа и WINDOWSа , а то я не могу нормально использовать файл .bmp в
паскалевской программе.
если у кого есть скиньте ,пожалста, мне на ящик - <rkv.gorodok.net>
Заранее благодарен.
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Гость






2 Administrators:
вам не кажется, что пора создавать раздел "перлы"?
На такие вопросы так и подмывает ответить что-нибудь типа:
Если сзжать BMP по алгоритму Хафмана, а затем три раза преобразовать в фрактальный формат любым способом, найти там все вхождения русской буквы "х", возвести это число в куб, факторизовать и каждый сомножитель логарифмировать по любому модулю, то получишь коэффициенты многочлена-преобразователя.

chel, ты формат BMP знаешь??? Если нет, то как ты его выводить собрался? Может, вопрос не правильно поставлен? А если знаешь, то поясни пожалуйста по-подробнее, что ты понимаешь под "цветами Windows" м "цветами DOS".
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Ищущий истину
******

Группа: Пользователи
Сообщений: 4 825
Пол: Мужской
Реальное имя: Олег

Репутация: -  45  +


BlackShadow, ты зря погорячился!
Действительно есть такая проблемма. Она у меня тоже возникала, и я ее не решил до сих пор.
Просто chel не правильно задал вопрос. Если он позволит, я его подправлю:
Попробуйте вывести рисунок BMP на экран, а затем еще один.
Старый рисунок испортится, потому что будет введена новая палитра!
А chel хочет узнать, как не меняя СИСТЕМНУЮ палитру, выводить рисунки, как это делает винда.


--------------------
Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Знаток
****

Группа: Пользователи
Сообщений: 419
Пол: Мужской

Репутация: -  6  +


Oleg_Z
проблема скорее всего в том что в досе в RGB формате исп. цвета 0..63 ,поэтому надо делать так :
Код
r:=bmp.r shr 2;
g:=bmp.g shr 2;
b:=bmp.b shr 2;


а вообще здесь есть

Сообщение отредактировано: virt -


--------------------
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Ищущий истину
******

Группа: Пользователи
Сообщений: 4 825
Пол: Мужской
Реальное имя: Олег

Репутация: -  45  +


Цитата
а вообще здесь есть

Да я знаю как выводить, но не знаю как не изменять системную палитру.


--------------------
Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Знаток
****

Группа: Пользователи
Сообщений: 419
Пол: Мужской

Репутация: -  6  +


винда работает в 32 битном режиме ,и поэтому у нее нет палитры.
а на компах на которых мониторы не поддерживают 32бита ,тама ищется цвета которые наиболее рядом с цветом кот надо вывести.

ЗЫ
кода дать не могу.

Сообщение отредактировано: virt -


--------------------
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7


Гость






virt прав. В таком случае надо просто подбирать подходящий цвет. проще всего по пропорции.
Если погорячился, то пардон, но иногда такие вопросы добивают.
 К началу страницы 
+ Ответить 
сообщение
Сообщение #8


Ищущий истину
******

Группа: Пользователи
Сообщений: 4 825
Пол: Мужской
Реальное имя: Олег

Репутация: -  45  +


Цитата
проще всего по пропорции.

По какой пропорции? (мне virt один вариант уже предложил, хочу другое мнение услышать)


--------------------
Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #9


Гость






Ну, если у тебя 15-битный режим, то можно было бы попробывать так:
Код

Function RGB15(r,g,b:Byte):Word;Assembler;
Asm
 MOV AL,[r]
 SHL AX,5
 OR AL,[g]
 SHL AL,5
 OR AL,[b]
 AND AX,7FFFh
End;

Function RGB32ToRGB15(Color:LongInt):Word;
Var
 r,g,b:Byte;
Begin
 r:=(Color And $00FF0000) Shr 16;
 g:=(Color And $0000FF00) Shr 8;
 b:=(Color And $000000FF);
 r:=Round(31*r/255);
 g:=Round(31*g/255);
 b:=Round(31*b/255);
 RGB32ToRGB15:=RGB15(r,g,b)
End;

Или что-то типа этого. А что virt прислал что-то другое? Выложи - интересно.
 К началу страницы 
+ Ответить 
сообщение
Сообщение #10


Ищущий истину
******

Группа: Пользователи
Сообщений: 4 825
Пол: Мужской
Реальное имя: Олег

Репутация: -  45  +


Цитата
берешь цвета из BMP ,берешь из сист палитры ,берешь их разности по компонентам ,возводишь в квадрат например ,и у цвета из сист палитры ,у которого сумма квадратов самая меньшая (256 цветов ,можно и все перебрать) и есть тот цвет


--------------------
Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #11


Гость






Если честно, то долговатый метод. Особенно, если часто цвета менять.
 К началу страницы 
+ Ответить 
сообщение
Сообщение #12


Знаток
****

Группа: Пользователи
Сообщений: 419
Пол: Мужской

Репутация: -  6  +


BlackShadow
а если у тебя 256 цветов ,тогда ты как пропорцию сохранишь?


--------------------
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #13


Гость






virt, а как твой метод под такой облом переделать?
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 5.12.2020 0:45
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name