Конференция "Media" » Можно ли считывать часть большого BMP файла не считывая весь?
 
  • Miklek © (14.04.09 11:12) [0]
    Считывать весь файл нельзя, т.к. оперативная память забивается сотнями MB, а с программой работают несколько пользователей в терминале, сервак не выдерживает. Надо либо научится считывать часть большого BMP файла, либо научить программу не кушать оперативку при отображении всего файла, что врядли возможно.
    Считываю файл стандартной командой:

    Bitmap:=TBitmap.Create();
    Bitmap.LoadFromFile(<Путь к файлу>);
    или
    Image:=TImage.Create(ScrollBox);
    Image.Picture.LoadFromFile(<Путь к файлу>);
  • Б (14.04.09 13:53) [1]
    В DRKB есть пример загрузки огромных растров с минимальный расходом памяти.
  • DVM © (14.04.09 16:33) [2]

    > Можно ли считывать часть большого BMP файла не считывая
    > весь?

    Конечно можно. Но от Bitmap.LoadFromFile(<Путь к файлу>); придется отказаться.
  • Jeer © (15.04.09 15:16) [3]
    "Вот ведь странного желают юноши, имея всего лишь один су за пазухой" (С)
  • Miklek © (16.04.09 12:23) [4]
    Просмотрел все DRKB, нашел примеры по DirectX и API WIN, но там идет речь о быстрой загрузке и т.п. Примера или идеи как отображать большой BMP без забивания оперативки не нашел. Может быть название статьи припомните? А то, что это возможно, никаких сомнений нет, это умеет делать Microsoft Office Picture Manager

    P.S.

    "су за пазухой" - это СУ-35?
  • Б (16.04.09 13:19) [5]
    Название статьи: "Загружать большие битовые изображения с небольшим использованием памяти"

    P.S. DRKB Version 3.0
  • Б (16.04.09 13:38) [6]
  • Miklek © (16.04.09 17:07) [7]
    Уважаемый Б, Вы меня спасли! Большое СПАСИБО! Вопрос решен.
 
Конференция "Media" » Можно ли считывать часть большого BMP файла не считывая весь?
Есть новые Нет новых   [134431   +11][b:0][p:0]