![]() |
1. Заголовок или название темы должно быть информативным !
2. Все тексты фрагментов программ должны помещаться в теги [code] ... [/code] или [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ" и используйте ПОИСК !
4. НЕ используйте форум для личного общения!
5. Самое главное - это раздел теоретический, т.е. никаких задач и программ (за исключением небольших фрагментов) - для этого есть отдельный раздел!
![]() ![]() |
![]() |
chel |
![]()
Сообщение
#1
|
Гость ![]() |
помогите кто может! срочно нужна таблица соответствия кодов цветов для DOSа и WINDOWSа , а то я не могу нормально использовать файл .bmp в
паскалевской программе. если у кого есть скиньте ,пожалста, мне на ящик - <rkv.gorodok.net> Заранее благодарен. |
BlackShadow |
![]()
Сообщение
#2
|
Гость ![]() |
2 Administrators:
вам не кажется, что пора создавать раздел "перлы"? На такие вопросы так и подмывает ответить что-нибудь типа: Если сзжать BMP по алгоритму Хафмана, а затем три раза преобразовать в фрактальный формат любым способом, найти там все вхождения русской буквы "х", возвести это число в куб, факторизовать и каждый сомножитель логарифмировать по любому модулю, то получишь коэффициенты многочлена-преобразователя. chel, ты формат BMP знаешь??? Если нет, то как ты его выводить собрался? Может, вопрос не правильно поставлен? А если знаешь, то поясни пожалуйста по-подробнее, что ты понимаешь под "цветами Windows" м "цветами DOS". |
Altair |
![]()
Сообщение
#3
|
![]() Ищущий истину ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 824 Пол: Мужской Реальное имя: Олег Репутация: ![]() ![]() ![]() |
BlackShadow, ты зря погорячился!
Действительно есть такая проблемма. Она у меня тоже возникала, и я ее не решил до сих пор. Просто chel не правильно задал вопрос. Если он позволит, я его подправлю: Попробуйте вывести рисунок BMP на экран, а затем еще один. Старый рисунок испортится, потому что будет введена новая палитра! А chel хочет узнать, как не меняя СИСТЕМНУЮ палитру, выводить рисунки, как это делает винда. -------------------- Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С) |
virt |
![]() ![]()
Сообщение
#4
|
![]() Знаток ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 419 Пол: Мужской Репутация: ![]() ![]() ![]() |
Oleg_Z
проблема скорее всего в том что в досе в RGB формате исп. цвета 0..63 ,поэтому надо делать так : Код r:=bmp.r shr 2; g:=bmp.g shr 2; b:=bmp.b shr 2; а вообще здесь есть Сообщение отредактировано: virt - 28.05.2004 22:26 -------------------- |
Altair |
![]()
Сообщение
#5
|
![]() Ищущий истину ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 824 Пол: Мужской Реальное имя: Олег Репутация: ![]() ![]() ![]() |
Цитата а вообще здесь есть Да я знаю как выводить, но не знаю как не изменять системную палитру. -------------------- Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С) |
virt |
![]() ![]()
Сообщение
#6
|
![]() Знаток ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 419 Пол: Мужской Репутация: ![]() ![]() ![]() |
винда работает в 32 битном режиме ,и поэтому у нее нет палитры.
а на компах на которых мониторы не поддерживают 32бита ,тама ищется цвета которые наиболее рядом с цветом кот надо вывести. ЗЫ кода дать не могу. Сообщение отредактировано: virt - 29.05.2004 19:39 -------------------- |
BlackShadow |
![]()
Сообщение
#7
|
Гость ![]() |
virt прав. В таком случае надо просто подбирать подходящий цвет. проще всего по пропорции.
Если погорячился, то пардон, но иногда такие вопросы добивают. |
Altair |
![]()
Сообщение
#8
|
![]() Ищущий истину ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 824 Пол: Мужской Реальное имя: Олег Репутация: ![]() ![]() ![]() |
Цитата проще всего по пропорции. По какой пропорции? (мне virt один вариант уже предложил, хочу другое мнение услышать) -------------------- Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С) |
BlackShadow |
![]()
Сообщение
#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 прислал что-то другое? Выложи - интересно. |
Altair |
![]()
Сообщение
#10
|
![]() Ищущий истину ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 824 Пол: Мужской Реальное имя: Олег Репутация: ![]() ![]() ![]() |
Цитата берешь цвета из BMP ,берешь из сист палитры ,берешь их разности по компонентам ,возводишь в квадрат например ,и у цвета из сист палитры ,у которого сумма квадратов самая меньшая (256 цветов ,можно и все перебрать) и есть тот цвет -------------------- Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С) |
BlackShadow |
![]()
Сообщение
#11
|
Гость ![]() |
Если честно, то долговатый метод. Особенно, если часто цвета менять.
|
virt |
![]()
Сообщение
#12
|
![]() Знаток ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 419 Пол: Мужской Репутация: ![]() ![]() ![]() |
BlackShadow
а если у тебя 256 цветов ,тогда ты как пропорцию сохранишь? -------------------- |
BlackShadow |
![]()
Сообщение
#13
|
Гость ![]() |
virt, а как твой метод под такой облом переделать?
|
![]() ![]() |
![]() |
Текстовая версия | 27.07.2025 3:03 |