Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Картинки формата jpg в Paradox [D5, Paradox]


Юра ©   (2002-10-09 12:02:00) 

Как наилучшим образом организовать хранение в Paradox картинок формата jpg? С bmp все понятно - объявляешь графическое поле, связываешь с ним TDBImage и все происходит само. С jpg, как я понимаю, надо объявлять BLOB поле и дальше работать с ним руками.


Юра   (2002-10-09 15:21:00) [1]

Ну, наверное это уже в потрепаться, но меня как-то не радует, что левой рукой правое ухо... Вместо того, чтобы напрямую переслать - создается поток, туда пишется, сикается, грузится в промежуточный жпег, потом оттуда в картинку... Как-то оно... Гм.
Правда, работает :-)


Lola   (2002-10-09 15:02:00) [2]

Это самый надежный путь и , по-моему, не очень и длинный :)


Юра   (2002-10-09 14:54:00) [3]

Да, это я сделал вот так:
tblPhoto.Insert;
tblPhotoPhoto.LoadFromFile(OpenDialog1.FileName);
tblPhoto.post;
Теперь для того, чтобы вытащить из BLOB в TImage - надо будет создать поток, записать в него содержимое поля, потом из стрима - в TJpegImage, а уж из него - в TImage, верно? А можно короче?


Lola   (2002-10-09 12:26:00) [4]

И bmp и jpg можно хранить в BLOB поле. Для JPG в uses добавляешь JPEG.
var
Bm: TMemoryStream;
Jp: TJpegImage;
begin
Table1.Edit;
Jp:=TJpegImage.Create;
Jp.Assign(Image1.Picture.Bitmap); //Помещаешь изображение в класс TJpegImage;
Bm:=TMemoryStream.Create;
Jp.SaveToStream(Bm); // Сохраняешь Jpeg в потоке
Bm.Seek(0,0);
Dm.Table1PHOTO.LoadFromStream(Bm); //Загружаешь Jpeg в поле через поток
Bm.Free;
Jp.Free;
Table1.Post;
end;



Наверх

Титульная страница Поиск, карта сайта Написать письмо