Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Графика и игры
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 28.08.2011, 16:19
SergArmy SergArmy вне форума
Прохожий
 
Регистрация: 28.08.2011
Сообщения: 18
Репутация: 10
По умолчанию Сохранение BMP в собственном файле

Здравствуйте!!!
Требуется помощь в решении задачи!
Некоторое время назад, начал писать приложение, для ведения домашней видеотеки. Приложение читает данные из файла и запоминает их в список, далее отображает этот список в виде таблицы на форме, выполняются различные действия (сортировка, удаление поиск и т. д.) Все это реализовал, но захотел добавить изображение к каждой записи списка, и чтоб оно было параметром этой записи. Долго пытался, как то реализовать эту задачу, но получилось только так:

Загружаю изображение в Image считываю попиксельно Canvas и заношу в двумерный массив, который в свою очередь является элементом записи, потом это сохраняется в файл (в файле хранятся данные различных типов + массив цветов). При отображении выбранной, из таблицы записи, в image отображается массив который был считан из файла. Отображение реализовал в попиксельном считывание цвета из массива. Это все работает но крайне медленно, чтоб отобразить изображение размером 150х150 пикселей задержка в пол секунды(может чуть меньше), если начать быстро просматривать записи приложение повисает.

Пробовал сохранить все BMP изображение в свой файл, но не нашел Информации как это реализовать.

Пожалуйста подскажите в какую сторону копать, что почитать или можно как то по другому решить проблему!
Ответить с цитированием
  #2  
Старый 28.08.2011, 20:19
Аватар для AND_REY
AND_REY AND_REY вне форума
Активный
 
Регистрация: 31.03.2009
Адрес: Украина, г.Днепропетровск
Сообщения: 324
Версия Delphi: Delphi7
Репутация: 3877
По умолчанию

Вот пример может поможет: 0001.rar
__________________
If end Then begin;
Ответить с цитированием
  #3  
Старый 28.08.2011, 21:19
Аватар для angvelem
angvelem angvelem вне форума
.
 
Регистрация: 18.05.2011
Адрес: Омск
Сообщения: 3,970
Версия Delphi: 3,5,7,10,12,XE2
Репутация: выкл
По умолчанию

А просто Image.Picture.SaveToFile не помогает?
__________________
Je venus de nulle part
55.026263 с.ш., 73.397636 в.д.
Ответить с цитированием
  #4  
Старый 28.08.2011, 23:45
Аватар для Pit-bull85
Pit-bull85 Pit-bull85 вне форума
Прохожий
 
Регистрация: 20.02.2011
Сообщения: 8
Репутация: 10
По умолчанию

Копай в сторону Баз Данных. В них можно и записи хранить, и иконки, и при этом всё работает без задержек.
Ответить с цитированием
  #5  
Старый 29.08.2011, 12:17
SergArmy SergArmy вне форума
Прохожий
 
Регистрация: 28.08.2011
Сообщения: 18
Репутация: 10
По умолчанию

Цитата:
Сообщение от Pit-bull85
Копай в сторону Баз Данных. В них можно и записи хранить, и иконки, и при этом всё работает без задержек.
В том то и дело, что приложение должно быть без компонентов баз данных.
Ответить с цитированием
  #6  
Старый 29.08.2011, 13:36
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,721
Репутация: 52347
По умолчанию

Можно и без готовых компонент БД, но это странное самограничение - отказаться от использования удобного инструмента.
Тогда делаете просто свою библиотеку картинок. Делается два файла, один содержит картинки, лучше их в JPG формате там хранить, а второй содержит информацию о начале данных картинки и их длине, можно еще описание каждой картинки туда вбухать, но это уже необязательно.
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
  #7  
Старый 29.08.2011, 11:47
SergArmy SergArmy вне форума
Прохожий
 
Регистрация: 28.08.2011
Сообщения: 18
Репутация: 10
По умолчанию

Цитата:
Сообщение от angvelem
А просто Image.Picture.SaveToFile не помогает?
Спасибо за предложение, но:
Мне не просто нужно сохранить изображение в файл, а добавить к файлу, в котором уже есть данные, по типу базы данных.
Ответить с цитированием
  #8  
Старый 29.08.2011, 11:44
SergArmy SergArmy вне форума
Прохожий
 
Регистрация: 28.08.2011
Сообщения: 18
Репутация: 10
По умолчанию

Спасибо большое, за быстрый ответ! Это очень похоже на то, что мне нужно, покрайней мере пища для размышлений появилась!
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра
Комбинированный вид Комбинированный вид

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 23:26.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter