|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
26.05.2012, 15:58 | #1 |
Пользователь
Регистрация: 14.04.2012
Сообщений: 41
|
открыть большой графический файл побитно
Необходимо открыть а делфи файл BMP размером 4 ГБ , естественно просто открыть его не получается( не хватает памяти).Как задать палитру и отобразить часть картинки в PaintBox , которая поместится в окно, считав ее прямо из файла? Помогите пожалуйста
|
26.05.2012, 17:34 | #2 |
Негодник
Форумчанин
Регистрация: 10.11.2009
Сообщений: 880
|
загружаем в TMemoryStream методом LoadFromFile. Углубленно читаем структуру BMP, т.к. надо будет знать с какого места начинается изображение.Кстити, заголовков у BMP три штуки, и они разные по размерам. Палитры у вас может и не быть вовсе, если изображение 16-ти,24-ти,32-битное. Вам нужно будет узнать из заголовка: тип заголовка, размеры изображения, формат пикселя.
Методом Seek(n,soBeginning) будем перескакивать строки изображения, чтобы считать часть другой строки. Методом Read(b,1) считывать байты и преобразовывать в цвет в зависимости от формата пикселя.
Если помог, проси поставить минус. Будь оригинален!
Последний раз редактировалось Rin; 26.05.2012 в 17:39. |
26.05.2012, 18:18 | #3 | ||
Старожил
Регистрация: 08.04.2012
Сообщений: 3,229
|
Цитата:
Вы пытаетесь увидеть проблему там, где ее нет. Цитата:
|
||
26.05.2012, 18:40 | #4 | |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Цитата:
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
|
26.05.2012, 18:44 | #5 |
Пользователь
Регистрация: 14.04.2012
Сообщений: 41
|
Все данные из шапки файла узнал,это не проблема. знаю с какого места начинается само изображение. что дальше делать понятно , а как нет! Хотелось бы увидеть код для произвольно взятого файла(
|
26.05.2012, 18:57 | #6 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
http://jenyay.net/Programming/Bmp
Там и код есть, можно разобраться
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
26.05.2012, 19:05 | #7 | |
Пользователь
Регистрация: 14.04.2012
Сообщений: 41
|
Цитата:
|
|
26.05.2012, 19:22 | #8 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
I'm learning to live...
|
|
26.05.2012, 19:34 | #9 |
Пользователь
Регистрация: 14.04.2012
Сообщений: 41
|
|
26.05.2012, 19:35 | #10 |
Старожил
Регистрация: 08.04.2012
Сообщений: 3,229
|
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Открыть файл, разделить ячейку на 1000, сохранить файл, закрыть файл. Как? | Ник Харди | Microsoft Office Excel | 7 | 30.01.2012 18:47 |
Не заливается на ФТП большой файл | ramzes777 | Работа с сетью в Delphi | 3 | 26.10.2011 10:19 |
Разбить большой файл на более мелкие | Sat_Kelman | Microsoft Office Excel | 4 | 18.03.2011 13:06 |
отдавать большой файл с фтп | TaTT DoGG | PHP | 5 | 03.07.2009 10:34 |
ActiveX не хочет читать большой файл | Miklek | Общие вопросы Delphi | 0 | 02.04.2009 11:55 |