|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
26.09.2009, 14:13 | #1 |
Старожил
Регистрация: 29.01.2008
Сообщений: 2,406
|
Сортировка цветов
Всем привет! Вот такая головоломка заявилась:
Короче надо отсортировать цвета. Ну вообще я в функции сравнения следующее написал: Код:
Вон, между фиолетовыми какой про межуток из синих цветов. Надо-бы как-то так, что бы реальнее было-бы... |
26.09.2009, 14:39 | #2 |
Trust no one.
Старожил
Регистрация: 07.04.2009
Сообщений: 6,526
|
В таком случае распределяйте их так:
0,0,0 ... 16,16,16 ... 32,32,32 ... 256,256,256 Разбейте цвет по BGR и сравнивайте их.
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ |
26.09.2009, 17:02 | #3 |
Старожил
Регистрация: 29.01.2008
Сообщений: 2,406
|
Да, но у меня ведь может R≠G≠B. Сейчас попробую нечто подобное, но не уверен
++++++++++++++++ Нет, не получается... ++++++++++++++++ Вообще как цвета должны сортироваться? Я решил сначала добиться правильной сортировки цветов радуги. Т.е. Красный #FF0000 (0000FF); ████ Оранжевый #FF8000 (0080FF); ████ Жёлтый #FFFF00 (00FFFF); ████ Зелёный #00FF00 (00FF00); ████ Голубой #0080FF (FF8000); ████ Синий #0000FF (FF0000); ████ Фиолетовый #FF00FF (FF00FF); ████ Последний раз редактировалось Altera; 26.09.2009 в 18:24. |
26.09.2009, 18:15 | #4 |
Trust no one.
Старожил
Регистрация: 07.04.2009
Сообщений: 6,526
|
Ну ясное дело R≠G≠B!!!
Сначала сравниваем B (так как он идет первым в Тколор) Самый больший ставим вверх. Если есть равные по В, сравниваем их по Джи, если они равны по Джи, сравниваем их по Р
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ |
26.09.2009, 18:16 | #5 |
Старожил
Регистрация: 29.01.2008
Сообщений: 2,406
|
|
26.09.2009, 18:27 | #6 |
Trust no one.
Старожил
Регистрация: 07.04.2009
Сообщений: 6,526
|
Ок, у нас есть такие цвета:
0,0,0 255,255,255 0,255,255 255,255,0 Ищем самый маленький B: 0,0,0 0,255,255 У нас два цвета, сравниваем их по G 0,0,0 0,255,255 Сравнили, расположили, преступаем к следующим: Сравниваем по B: 255,255,255 255,255,0 Их опять два, сравниваем по G 255,255,255 255,255,0 Не помогло, сравниваем по R(полседняя надежда) 255,255,0 255,255,255 Помогло, теперь выводим тот порядок, который мы получили: 0,0,0 0,255,255 255,255,0 255,255,255 Попробуйте их (цифры) оцветить, посмотрим, какой порядок получается в цветах.
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ |
26.09.2009, 19:11 | #7 |
Заблокирован
Старожил
Регистрация: 20.07.2008
Сообщений: 4,032
|
Может перевести в ч/б(с учетом восприятия цвета человеком) и отсортировать?
|
26.09.2009, 19:18 | #8 | |
Trust no one.
Старожил
Регистрация: 07.04.2009
Сообщений: 6,526
|
Цитата:
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ |
|
26.09.2009, 21:38 | #9 |
Участник клуба
Регистрация: 28.07.2009
Сообщений: 1,510
|
сегодня совершенно случайно придумал перевод в ч/б =)
bw:=round(getRvalue(pixel[x,y])+getGvalue(pixel[x,y])+getBvalue(pixel[x,y]))/3; pixel[x,y]:=rgb(bw,bw,bw); |
26.09.2009, 22:42 | #10 | |
Старожил
Регистрация: 29.01.2008
Сообщений: 2,406
|
Цитата:
Разве и так не видно, что \то тоже самое что и просто сравнивать сими числа ведь 000000<00FFFF<FFFF00<FFFFFF Такой-же порядок и при моей сортировке будет! И вы наверное не въехали! У меня в процедуре сортировки вызывается функция сравнения, в которой сравниваются 2 цвета. Функция возвращает 0 если цвета идентичны, отрицательное, если первый цвет должен стоять после второго и положительное если первый должен быль перед вторым. Вот и всё. Мне надо организовать функцию сравнения. Я бы сделал так: Я только не знаю как. Ща попытаюсь кое-что. Как мне определить яркость и контраст из цвета? |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Затемнение и осветление цветов. | proglamer | Мультимедиа в Delphi | 1 | 02.12.2008 16:09 |
Получение 2х цветов и их сравнение | Zeraim | Помощь студентам | 3 | 26.04.2008 15:43 |
Сравнивание цветов | Zeraim | Общие вопросы Delphi | 7 | 26.04.2008 12:49 |
Копирование текста ячейки 2 цветов | WIC | Microsoft Office Excel | 3 | 24.09.2007 13:32 |
Прозрачность для нескольких цветов в Image | SERG1980 | Общие вопросы Delphi | 3 | 11.05.2007 19:53 |