![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Картинки формата 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;