![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
измученный вопрос про "jpg" [D7, dBase, FoxPro]
mike(c) © (2005-06-09 11:33:00)Спасибо что заглянули... Тема такая: делаю простенькую БД содержащую изображения (BLOB). С загрузкой картинок в БД проблем нет, а вот с отображением в TImage есть. С bmp работает нормально, но они слишком много место занимают, поэтому необходимо сделать Jpeg. При попытке отобразить выскакивает ошибка "Bitmap image is not valid".
Вот как я делал:
Image1.Picture.Assign(TJPEGImage(TBLOBField(DataSource1.DataSet.FieldByName('rosp'))));
а еще пробовал так:
Image1.Picture.Assign(TBLOBField(DataSource1.DataSet.FieldByName('rosp')));
Модуль Jpeg прописан.
Уже долго бьюсь над этим местом, найти пока нигде не смог, поэтому пишу. А может загружать картинки в БД как то по особенному надо?...
Подскажите пожалуйста, буду очень признателен!
Desdechado (2005-06-09 11:37:00) [1]
oS := qryGraf.CreateBlobStream( qryGraf.FieldByName( 'PICT_BLOB' ), bmRead );
if( oS.Size > 0 ) then begin
case( cExt[ 1 ] ) of
'B':
Image1.Picture.Bitmap.LoadFromStream( oS );
'I':
Image1.Picture.Icon.LoadFromStream( oS );
'J':
begin
oJPG := TJPEGImage.Create;
oJPG.LoadFromStream( oS );
oJPG.DIBNeeded;
Image1.Picture.Bitmap.Assign( oJPG );
oJPG.Free;
end;
'E', 'W':
Image1.Picture.Metafile.LoadFromStream( oS );
end; // case