Модераторы: Snowy, Alexeis, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> 32 -bit как загрузить файл без заголовка 
V
    Опции темы
Ak47black
  Дата 21.6.2007, 10:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2205
Регистрация: 2.12.2005

Репутация: нет
Всего: 0



Здравствуйте.
Вообщем есть файл Bitmap без заголовка, тоесть в нём нету заголовка как в нормальных файлах bmp, а только сама карта цветов(bit-map).
Нужно мне загрузить из этого файла картинку и показать на форме.
Вот так делаю, но не выходит 
Код

var
  Stream: TFileStream;
  Bitmap: TBitmap;
begin
  Stream:= TFileStream.Create('C:\test.dat',fmOpenRead);// открываем этот файл
  Stream.Position:= 0;
  Bitmap:= TBitmap.Create;
  Bitmap.Height:= 768;//заранее известный размер
  Bitmap.Width:= 1024;
  Bitmap.PixelFormat:= pf32bit;// картинка 32 бит
  Stream.Write(Bitmap.ScanLine[0]^,Stream.Size); // пытаюсь записать в TBitmap
  ImageView.Picture.Bitmap:= Bitmap; // ImageView = TImage пытаюсь показать на нём
  Stream.Free;
end;

Там по идее в начале файла очень много 0 так что по идее на этих участках должен быть черный ,а у меня белый везде, так что чтото нетак  smile 
PM MAIL   Вверх
Ak47black
Дата 21.6.2007, 10:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2205
Регистрация: 2.12.2005

Репутация: нет
Всего: 0



На Read переправил но всёравно не помогло пока.
PM MAIL   Вверх
Alexeis
Дата 21.6.2007, 11:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 55
Всего: 459



Bitmap.ScanLine[0] - это не начало а конец растра, начало будет Bitmap.ScanLine[Bitmap.Height-1].


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
Ak47black
Дата 21.6.2007, 11:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2205
Регистрация: 2.12.2005

Репутация: нет
Всего: 0



Ооооо заработало, Alexeis, спасибо!
PM MAIL   Вверх
Ak47black
Дата 21.6.2007, 14:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2205
Регистрация: 2.12.2005

Репутация: нет
Всего: 0



Мм еше один момент коствено связанный с этой темой.
Вообщем у меня изображение получается немного некорректное, тоесть каналы Green и Blue поменяты местами ,а Red на месте как надо.
Я неособо уверен, что это изза неправильной загрузки(потомучто это может быть и в самом файле), но может это изза некорректной загрузки.
Вообщем низнаю. 
Программный метод перестановки мне ненужен, только хочю узнать можно-ли было както по другому загрузить?

Это сообщение отредактировал(а) Ak47black - 21.6.2007, 14:37
PM MAIL   Вверх
Alexeis
Дата 21.6.2007, 14:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 55
Всего: 459



Может ошибка в сдвиге? Если сдвинуть растр на пару байт, то цвета как раз поперепутываются все

Добавлено через 12 минут и 10 секунд
Еще нужно учесть что байты цвета в каждом пикселе растра идут в следующем порядке BGRA.


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
Ak47black
Дата 21.6.2007, 16:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2205
Регистрация: 2.12.2005

Репутация: нет
Всего: 0



Alexeis, неа вроде тут не изза этого потомучто Red канал на месте.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Звук, графика и видео"
Girder
Snowy
Alexeis

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делится вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • По вопросам разработки игр стоит заглянуть сюда

FAQ раздела лежит здесь!


Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Girder, Snowy.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Звук, графика и видео | Следующая тема »


 




[ Время генерации скрипта: 0.1034 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.