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

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

Вернуться   Форум программистов > Delphi программирование > Мультимедиа в Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 23.01.2009, 18:32   #1
Rezet
Пользователь
 
Регистрация: 17.01.2009
Сообщений: 11
По умолчанию Декодирование BMP

Необходимо BMP представить в виде числовой матрицы по RGB, где каждому цвету одного пикселя соответствует число от 0 до 255. Для одной картинки необходимо три матрицы, одна для красного цвета, вторая для зеленого и третья для синего. Затем все три матрицы необходимо записать в разные txt (R.txt, G.txt, B.txt). Помогите, пожалуйста, с кодом))
Rezet вне форума Ответить с цитированием
Старый 23.01.2009, 20:12   #2
BOBAH13
Android Developer
Старожил Подтвердите свой е-майл
 
Аватар для BOBAH13
 
Регистрация: 19.02.2007
Сообщений: 3,708
По умолчанию

Чет я не понял.... какие еще матрицы.... Если битмап 24 битный то берете битовые данные и начинаите сканить их по 3 байта на каждый пиксель. Помогите с кодом... ммм... пора тоже делать как в разделе С++, за бесплатно распинатся никто не будет, во фриланс прямая дорога.
BOBAH13 вне форума Ответить с цитированием
Старый 23.01.2009, 23:15   #3
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 16,219
По умолчанию

Изучите формат BMP файла. Всё очень просто, читаете раздел данных, там как раз по 1 байту на 1 компоненту будет (если 24 бита).
Arigato вне форума Ответить с цитированием
Старый 24.01.2009, 13:59   #4
Rezet
Пользователь
 
Регистрация: 17.01.2009
Сообщений: 11
По умолчанию

Цитата:
Сообщение от BOBAH13 Посмотреть сообщение
Чет я не понял.... какие еще матрицы....
Столбцы цифр называются матрицей))
Цитата:
Сообщение от BOBAH13 Посмотреть сообщение
Помогите с кодом... ммм... пора тоже делать как в разделе С++, за бесплатно распинатся никто не будет, во фриланс прямая дорога.
, тогда зачем форум если тут за деньги... Идея форума такова, ты помог, потом, когда-нибудь тебе помогут, безвозмездно, т.е. даром))
Я же не прошу написать мне код, а лишь интересуюсь, может кто уже писал и выложит))...

Собственно по поводу BMP я уже разобрался, все получилось)) Правда, без битмап, просто по пиксельная просматривал картинку и извлекал RGB.
А через битмап это проще? Где можно почитать по этой тематике?
Rezet вне форума Ответить с цитированием
Старый 24.01.2009, 14:20   #5
Д'якон
Форумчанин
 
Регистрация: 05.12.2007
Сообщений: 236
По умолчанию

По-пиксельно просматривал картинку???????
(в ближайший город тоже через Африку добираешься ? )

А просто скопировать файл в память и просматривать его? Только нужно формат файла знать. Можешь скачать 010Editor там бмп формат разобран по частям, когда загружаешь бмп файлы. Или почитай где-нить о формате
Д'якон вне форума Ответить с цитированием
Старый 24.01.2009, 14:40   #6
BOBAH13
Android Developer
Старожил Подтвердите свой е-майл
 
Аватар для BOBAH13
 
Регистрация: 19.02.2007
Сообщений: 3,708
По умолчанию

Цитата:
Я же не прошу написать мне код
Цитата:
Помогите, пожалуйста, с кодом))
Мда... Ну да ладно. BMP и Битмап ? Это что по вашему разные вещи ? Формат элементарный, TBitmapFileInfo (Windows.pas). Да собственно и зачем... TBitmap.ScanLine[0] вот начало (хотя, может и TBitmap.ScanLine[TBitmap.Height - 1]) т.к. я давно уже им не пользовался. Потом

Код:
type
  PARGBTriple = ^TARGBTriple;
  TARGBTriple = array[0..0] of TRGBTriple;
var
  y, x: Integer;
  p: PARGBTriple;
begin
  for y:= 0 to TBitmap.Height - 1 do
  begin 
    p := TBitmap.ScanLine[y];
    for x:= 0 to TBitmap.Width - 1 do
    begin
      p^[x]..... тут уже думаю не составит труда большого понять поля записи TRGBTriple
    end;
  end;
end;
p.s. о каких то форматах говорите... и еще матрциы смешно, правда, как будто я незнал. Тут я себе не вижу матриц, я вижу "кучу" байт И форум предпологает, что вы что-либо УЖЕ сделали, и у вас что-то не получается, и только потом вам стараются помочь с ВАШИМ кодом. Из вопроса код отсутсвует и вообще какие либо идеи, ваш вопрос звучал как задание, а не вопрос.

Последний раз редактировалось BOBAH13; 24.01.2009 в 14:43.
BOBAH13 вне форума Ответить с цитированием
Старый 24.01.2009, 22:33   #7
Rezet
Пользователь
 
Регистрация: 17.01.2009
Сообщений: 11
По умолчанию

ВОВАН13, спасибо))
Rezet вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Декодирование 48 битного RAW формата Rezet Мультимедиа в Delphi 5 23.01.2009 18:21
Bmp в ico AngelOfDeath Мультимедиа в Delphi 9 30.12.2008 06:21
Конвертация ICO в BMP DeDoK Общие вопросы Delphi 5 15.07.2008 23:44