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

Delphi Sources



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

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #16  
Старый 30.08.2011, 14:11
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,721
Репутация: 52347
По умолчанию

Размер полотна картинки и размер данных картинки далеко не одно и то-же, поэтому использовать фиксированную структуру для этого непрактично, да и черевато выходом за границы массива. Самый оптимальный вариант при такой постановке задачи я уже предложил.
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
  #17  
Старый 30.08.2011, 14:33
SergArmy SergArmy вне форума
Прохожий
 
Регистрация: 28.08.2011
Сообщения: 18
Репутация: 10
По умолчанию

Цитата:
Сообщение от AND_REY
Если файлы Bmp одинакового размера то можно ещё попробовать так обьявить структуру:
Код:
Const
 R = 100433; // Размер рис.
Type
 MyStrukt = Record // Наша структура для записи в свой файл
  S: String[32]; // имя рисунка
  n: Integer; // ещё чтото 
  // и т. д. скоко надо параметров к рисунку.
  Bmp: Array [0..R] of Byte; // массив с байтами рисунка.
 end;
Вот так считываем из структуры на Image нашу картинку
Код:
var
 Ms: TMemoryStream;
 Str: MyStrukt;
begin
 Ms:= TMemoryStream.Create;
 Ms.Write(Str.Bmp, R);
 Image1.Picture.Bitmap.LoadFromStream(Ms);
 Ms.Free;
end;
Так же массив из MyStrukt можно легко сохранить в файл и читать от туда.
Записать рис. в нашу структуру тоже легко. Просто переписываем побайтно из рис. в массив Bmp: Array [0..R] of Byte;
Дома буду соченю пример если непонятно а то щяс на работе.

Отлично! Огромнейшее спасибо! Это прямо то что я и искал! Но пытался опробывать и что то не совсем получается, где то ошибся.
Cкажите что я ЗДЕСЬ.7z сделал не так?
Ответить с цитированием
  #18  
Старый 30.08.2011, 14:48
SergArmy SergArmy вне форума
Прохожий
 
Регистрация: 28.08.2011
Сообщения: 18
Репутация: 10
По умолчанию

Цитата:
Сообщение от Страдалецъ
Размер полотна картинки и размер данных картинки далеко не одно и то-же, поэтому использовать фиксированную структуру для этого непрактично, да и черевато выходом за границы массива. Самый оптимальный вариант при такой постановке задачи я уже предложил.

Полностью согласен!
Но как я уже говорил:
Цитата:
Сообщение от SergArmy
Я прекрасно понимаю, что мое - это далеко не оптимальное решение задачи, -но все же, не хочется отступать, ведь решение должно быть

Просто хочу найти выход. Я по ТЗ как раз должен использовать "фиксированную структуру", чтоб хранить все данные в файле, и все записи должны загружаться в линейный список.

Цитата:
Сообщение от Страдалецъ
Можно и без готовых компонент БД, но это странное самограничение - отказаться от использования удобного инструмента.
Тогда делаете просто свою библиотеку картинок. Делается два файла, один содержит картинки, лучше их в JPG формате там хранить, а второй содержит информацию о начале данных картинки и их длине, можно еще описание каждой картинки туда вбухать, но это уже необязательно.

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

Подправил ЗДЕСЬ.rar
А на счёт неодинакового размера картинки то можно дописывать и размер в свой файл
__________________
If end Then begin;
Ответить с цитированием
  #20  
Старый 30.08.2011, 15:31
SergArmy SergArmy вне форума
Прохожий
 
Регистрация: 28.08.2011
Сообщения: 18
Репутация: 10
Радость

Цитата:
Сообщение от AND_REY
Подправил Вложение 2445
А на счёт неодинакового размера картинки то можно дописывать и размер в свой файл

Огромнейшее спасибо!!! Все получилось! Немного подкоректировать (сделать более универсальной) и можно внедрять в проект


Еще раз Всем спасибо, за участия и советы!
Ответить с цитированием
  #21  
Старый 30.08.2011, 17:35
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,721
Репутация: 52347
По умолчанию

Вот вам еще вариант вдогонку
Вложения
Тип файла: zip Lib.ZIP (2.6 Кбайт, 34 просмотров)
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
  #22  
Старый 30.08.2011, 18:44
einstein einstein вне форума
Начинающий
 
Регистрация: 02.09.2010
Адрес: Город
Сообщения: 143
Репутация: -4653
По умолчанию

используй xml картинки храни в cdata
Ответить с цитированием
Ответ


Delphi Sources

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

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

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

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


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


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

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

ВКонтакте   Facebook   Twitter