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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 14.04.2009, 10:57   #1
Miklek
 
Регистрация: 02.04.2009
Сообщений: 4
По умолчанию Можно ли считывать часть большого BMP файла не считывая весь?

Считывать весь файл нельзя, т.к. оперативная память забивается сотнями MB, а с программой работают несколько пользователей в терминале, сервак не выдерживает. Надо либо научится считывать часть большого BMP файла, либо научить программу не кушать оперативку при отображении всего файла, что врядли возможно.
Считываю файл стандартной командой:

Bitmap:=TBitmap.Create();
Bitmap.LoadFromFile(<Путь к файлу>);
или
Image:=TImage.Create(ScrollBox);
Image.Picture.LoadFromFile(<Путь к файлу>);
Miklek вне форума Ответить с цитированием
Старый 14.04.2009, 11:02   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Может проще перегнать BMP в формат поменьше? JPEG или TIFF...
И кстати я например пользуюсь просмотром от Pegasus ImagN - класный контрол, быстрый и памяти мало хавает.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 15.04.2009, 17:39   #3
Miklek
 
Регистрация: 02.04.2009
Сообщений: 4
По умолчанию

При загрузки из JPEG картинка распаковывается и в оперативке занимает столько же как и BMP. С Pegasus ImagN не знаком, пишу коммерческое приложение, поэтому опасаюсь использовать не типовые контролы. Сейчас ищу возможность читать BMP без загрузки оперативки, пока глухо...
Miklek вне форума Ответить с цитированием
Старый 15.04.2009, 19:54   #4
BOBAH13
Android Developer
Старожил Подтвердите свой е-майл
 
Аватар для BOBAH13
 
Регистрация: 19.02.2007
Сообщений: 3,708
По умолчанию

BMP - формат его описан в MSDN. Читаем заголовок. Потом (если 16, 15, 24, 32 битность) идет битовая карта по строкам. Читайте хоть каждую строку
BOBAH13 вне форума Ответить с цитированием
Старый 16.04.2009, 09:50   #5
JTG
я получил эту роль
Старожил
 
Аватар для JTG
 
Регистрация: 25.05.2007
Сообщений: 3,694
По умолчанию

Стоит опробовать сторонний компонент для jpeg, дефолтный модуль в делфи имеет много косяков
пыщь
JTG вне форума Ответить с цитированием
Старый 17.04.2009, 09:20   #6
Miklek
 
Регистрация: 02.04.2009
Сообщений: 4
Хорошо

На www.delphimaster.ru предложили решение загрузки большого файла BMP без большого расходования ОЗУ. Файл в 300 MB кушает 3 MB оперативки. Пример прикреплен. Вопрос решен.
Вложения
Тип файла: rar BMP Big.rar (12.3 Кб, 15 просмотров)
Miklek вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Обработка BMP файла sparkspark Помощь студентам 4 20.02.2009 11:46
Запись большого файла на 2-ва DVD Rembo Софт 32 14.02.2009 16:02
Сохранение большого файла в WinWORD 2003 alex_z_ua Microsoft Office Word 1 23.09.2008 18:54
Проблема с записью большого файла Rembo Свободное общение 17 17.06.2008 12:47
как считывать информацию с doc файла ar4i Общие вопросы Delphi 2 11.12.2006 12:52