![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Регистрация: 17.06.2007
Сообщений: 7
|
![]() ![]() — если знаешь цвет точки(Tcolor), получить ее индекс(Byte); — если знаешь индекс точки, получить ее цвет; Используется стандартная палитра Windows 256 цветов(8 bits). |
![]() |
![]() |
![]() |
#2 |
Телепат с дипломом
Старожил
Регистрация: 10.06.2007
Сообщений: 4,929
|
![]()
Могу лишь подсказать как разбить TColor на R G B цвета, если это тебе поможет. А по какому принципу 256-ти цветная устроена? Если знаешь напиши может подскажу чего.
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог |
![]() |
![]() |
![]() |
#3 |
Регистрация: 17.06.2007
Сообщений: 7
|
![]()
Как разбить на RGB я тоже знаю, просто задача у меня не в этом. Когда bmp файл сохраняешь с 8 bit, то палитра составлена из 256 цветов, и каждый из этих цветов имеет свой индекс. Это самые используемые цвета от черного к белому. Эту палитру можно посмотреть, например в фотошопе (lmage>Mode>Color Table (Изображение>Режим>Палитра)). Можно конечно переписать все индексы из того же фотошопа в табличку и в рукопашную сравнивать по RGB, но больно уж долго это делать, да и машинного времени уйдет больше
|
![]() |
![]() |
![]() |
#4 |
Телепат с дипломом
Старожил
Регистрация: 10.06.2007
Сообщений: 4,929
|
![]()
Даже не знаю. Может WinAPI какая ф-я есть? В Delphi я такого не встречал.
Взять например RGB 256*256*256 = 16777216 цветов. Красный имеет индекс 255, зеленый - 65280, синий - 16711680, эти значения и содержит TColor. Какие эти цвета по счету в 256-ти цветной палитре? Если найти закономерность можно самому функцию написать.
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог |
![]() |
![]() |
![]() |
#5 |
Регистрация: 17.06.2007
Сообщений: 7
|
![]()
Все разобрался=) Если кому интересно:
BitMap := TBitMap.Create; BitMap.LoadFromFile('c:\1.bmp');//Загружаем нужный файл, ну или просто любой файл bmp BitMap.PixelFormat := pf8bit;//делаем 8-битным(256 цветов) s := RGB(xx,xx,xx);//нужный нам цвет i := GetNearestPaletteIndex(BitMap.Palet te,s);//и собственно индекс цвета |
![]() |
![]() |
![]() |
#6 |
Регистрация: 17.06.2007
Сообщений: 7
|
![]()
Теперь надо узнать, как из индекса получить цвет точки...???
|
![]() |
![]() |
![]() |
#7 |
Телепат с дипломом
Старожил
Регистрация: 10.06.2007
Сообщений: 4,929
|
![]()
Так одному индексу будет соответствовать около 65000 цветов. Что же тогда функция должна возвращать - массив? А если один из подходящих цветов, то какой - первый, последний?
Если что-то нароешь напиши, интересно.
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог |
![]() |
![]() |
![]() |
#8 |
Регистрация: 17.06.2007
Сообщений: 7
|
![]()
>Так одному индексу будет соответствовать около 65000 цветов.
Почему??? |
![]() |
![]() |
![]() |
#9 |
Телепат с дипломом
Старожил
Регистрация: 10.06.2007
Сообщений: 4,929
|
![]()
Вообще-то ты прав, должен быть один аналог.
Я исходил из того что в RGB цветов около 16 млн. поделить на 256 получается 65000 цветов которым соответствует один цвет в 8-битной палитре.
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
ПРоблемы с графикой HELP!!! | ANARHIST | Помощь студентам | 2 | 03.07.2008 09:04 |
проблемы с графикой | joker | Win Api | 9 | 01.12.2007 18:32 |
Можно ли в Delphi использовать такое (#00CCFF) присваевание цвета? | Grey Fox | Помощь студентам | 12 | 29.10.2007 21:18 |
Программное индексирование | Рустам | БД в Delphi | 2 | 27.08.2007 09:34 |