Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.08.2007, 22:55   #1
Alar
Александр
Администратор
 
Аватар для Alar
 
Регистрация: 28.10.2006
Сообщений: 17,501
По умолчанию Перевод картинки в двухмерный массив RGB цветов

Интересуют любые исходники и наработки в этой области.

Конечная цель - оценка основных, сочетающихся цветов с картинкой.

В принципе, на сколько я знаю, в исходниках графического редактора должен быть подобный код, но надеюсь, что у кого-то есть наработки, может мысли какие-либо.
Alar вне форума Ответить с цитированием
Старый 07.08.2007, 23:49   #2
mutabor
Телепат с дипломом
Старожил
 
Аватар для mutabor
 
Регистрация: 10.06.2007
Сообщений: 4,929
По умолчанию

Я как то пробовал сжатие битмапов делать. Там я как раз в двухмерный массив переводил для ускорения обработки. Ничего сложного, построчно перегоняешь пиксели из битмапа в свой массив. Приблизительно так:

var
bmp: TBitmap;
m: array of array of integer; //или TColor, не имеет значения

SetLength(m, bmp.width, bmp.height);
for i:=0 to bmp.height -1 do
for j:=0 to bmp.width - 1 do
m[j,i]:=bmp.canvas.pixels[j,i];

еще можно ScanLine использовать чтобы целыми строками пиксели считывать, должно быть быстрее

p.s. могут быть орфографические ошибки, я прямо тут набрал
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)
Проверь себя! Онлайн тестирование | Мой блог
mutabor вне форума Ответить с цитированием
Старый 08.08.2007, 00:02   #3
Alar
Александр
Администратор
 
Аватар для Alar
 
Регистрация: 28.10.2006
Сообщений: 17,501
По умолчанию

mutabor, а что насчёт сжатия получилось? как высчитывал нужный цвет?!
Alar вне форума Ответить с цитированием
Старый 08.08.2007, 00:24   #4
mutabor
Телепат с дипломом
Старожил
 
Аватар для mutabor
 
Регистрация: 10.06.2007
Сообщений: 4,929
По умолчанию

Я сжатие без потерь делал.
Вот исходник, я правда в нем сам сейчас ничего не разберу.
Вложения
Тип файла: rar BMP_compress.rar (24.5 Кб, 70 просмотров)
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)
Проверь себя! Онлайн тестирование | Мой блог
mutabor вне форума Ответить с цитированием
Старый 08.08.2007, 13:43   #5
Alar
Александр
Администратор
 
Аватар для Alar
 
Регистрация: 28.10.2006
Сообщений: 17,501
По умолчанию

спасибо, по теме выбора оптимальных цветов для картинки у кого-нибудь мысли есть?
Alar вне форума Ответить с цитированием
Старый 08.08.2007, 14:13   #6
Alex21
With best regards
Участник клуба
 
Регистрация: 20.04.2007
Сообщений: 1,448
По умолчанию

Alar, не совсем пойму, что значит Выбор оптимальных цветов.

Найти среднее значение состовных RGB?

Последний раз редактировалось Alex21; 08.08.2007 в 14:15.
Alex21 вне форума Ответить с цитированием
Старый 08.08.2007, 19:14   #7
_SERGEYX_
Участник клуба
 
Аватар для _SERGEYX_
 
Регистрация: 07.07.2007
Сообщений: 1,518
По умолчанию

Я тоже не совсем понял... А не проще конвертировать BMP в JPG с необходимым процентом сжатия (тут все написано за нас) а потом вернуть в нужный формат...
_SERGEYX_ вне форума Ответить с цитированием
Старый 08.08.2007, 20:02   #8
Alar
Александр
Администратор
 
Аватар для Alar
 
Регистрация: 28.10.2006
Сообщений: 17,501
По умолчанию

Цитирую сам себя, что я буду делать -

Цитата:
Конечная цель - оценка основных, сочетающихся цветов с картинкой.
Alar вне форума Ответить с цитированием
Старый 09.08.2007, 14:24   #9
mutabor
Телепат с дипломом
Старожил
 
Аватар для mutabor
 
Регистрация: 10.06.2007
Сообщений: 4,929
По умолчанию

Цитата:
Цитирую сам себя, что я буду делать -

Цитата:
Конечная цель - оценка основных, сочетающихся цветов с картинкой.
Читать мы умеем. Вы поясните пожалуйста, мне например тоже не очень понятно. Как понять сочетающихся?
Какого цвета точек на картинке больше что-ли?
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)
Проверь себя! Онлайн тестирование | Мой блог

Последний раз редактировалось mutabor; 09.08.2007 в 14:27.
mutabor вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите определить макс кол цветов картинки 32x32 пикс объёмом 512 байт www_2008 Паскаль, Turbo Pascal, PascalABC.NET 4 13.05.2008 20:25
двухмерный массив Enchantner Паскаль, Turbo Pascal, PascalABC.NET 3 22.04.2008 20:47
Двухмерный массив xtraSHAD0W Паскаль, Turbo Pascal, PascalABC.NET 2 22.04.2008 18:17
Двухмерный массив Atheist Общие вопросы C/C++ 4 22.11.2007 14:05