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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как сэкономить память? 
:(
    Опции темы
костярик
Дата 21.7.2006, 16:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 19.7.2006

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



Добрый день!
У меня еще один вопрос smile. Известно, что класс TBitmap хранит в памяти не только цвета каждого пиксела, но и кучу всякого кода. Как мне сэкономить память и ограничиться только массивом цветов? Спасибо. 
PM MAIL   Вверх
Alexeis
Дата 21.7.2006, 19:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


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

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



Цитата(костярик @  21.7.2006,  16:40 Найти цитируемый пост)
но и кучу всякого кода. Как мне сэкономить память и ограничиться только массивом цветов? Спасибо. 

Ну кода там допустим нет, а служебной информации не так уж много. Если и в правду надо сэкономить память, пользуйтесь форматом png, он позволит уменьшить размер изображения в несколько раз, без потерь качества. Соответствующий компонент можно загрузить с torry.net. 


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

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

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


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 19.7.2006

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



Цитата

Ну кода там допустим нет, а служебной информации не так уж много. 

Ну, не знаю что там у него храниться, но у меня при динамическом создании нового экземпляра класса TBitmap, занимаемая память увеличивается 12 кб (вместе в виртуальной). Размеры поля: 1 на 1 пиксел. Вот этого-то я и хочу избежать. Мне надо хранить только инфу о цвете -- 3 байта в вышеприведенном примере, а не 12 кб. Как мне это сделать? Я видел, есть какие-то HBitmap, BITMAPINFO... Что лучше использовать и, если можно вкратце, как?
А за png спасибо, интересно, как это он позволяет уменьшить размер, надо будет узнать... 
PM MAIL   Вверх
Alexeis
Дата 21.7.2006, 22:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


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

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



Для вывода на экран, можно использовать только bitmap, поскольку видеоадаптер работает именно с ним. Память выделяется в основном (12кб), на сам объект, а не на изображение. Если его грузить в память при помощи Аpi то этих расходов удастся избежать.
BITMAPINFO занимает не более 144байт(самый навороченный вариант)
BITMAPfileHeader байт 10
и палитра(только для изображений 256 цветов и хуже) 256 * 4 = 1кб

Если сильно хочется это сделать ручками или просто познакомится с его внутренней структурой, то читайте мою статью
http://forum.vingrad.ru/index.php?showtopi...0%D1%82,and,bmp

 


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

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

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

Запрещено:

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

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

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

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


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

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


 




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


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

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