Вниз
Скачать: CL | DM;

Как прочитать формат JPEG из SQLServer 2000   Найти похожие ветки 

 
JurMax ©   (2002-11-18 20:28) [0]

Написал приложение на Delphi-6. БД - на SQL Server 2000. Связь через ADO.
Картинки формата bmp вставляются и читаются без проблем. Однако картинки другого формата, например jpg прочитать не могу.
Пробовал написать процедуру(см. ниже) - не работает, выдает ошибку. Через Access графика любого формата читается и записывается в БД без замечаний.

procedure TDataModule1.ADODataSet1AfterScroll(DataSet: TDataSet);
var
Bitmap : TBitmap;
BS : TADOBlobStream;
begin
try
BS:=TADOBlobStream.Create(ADODataSet1_foto, bmRead);
BS.Seek(78, soFromBeginning); //пропускаем заголовок памяти OLE
Bitmap:=TBitmap.Create; //создаем растровое изображение
Bitmap.LoadFromStream(BS); //загружаем графическое изображение (фото) из потока
Form1.DBImage1.Picture.Graphic:=Bitmap; //отображаем фото
// освобождаем память
finally
Bitmap.Free;
BS.Free;
end; //try }
end; // procedure TDataModule1.ADODataSet1AfterScroll(DataSet: TDataSet);


Как прочитать формат JPEG из SQLServer 2000 в приложение, написанное на Delphi 6


 
asmith   (2002-11-18 21:11) [1]

Используй вместо TBitmap класс TJPEGImage, у него также есть метод LoadFromStream.


 
shiling   (2002-11-19 06:49) [2]

Вот примерчик, но через временный файл на диске (так мне надо было)
var
tmpfile,tmpjpgfile : String;
jpeg : TJpegImage;
bm : TBitMap
begin
bm:=TBitMap.Create;
jpeg:=TjpegImage.create;
randomize();
tmpjpgfile:=pchar("c:\tmp\"+inttostr(random(maxint))+".jpg");
jpgfilename:=tmpjpgfile;
(dmdata.qetmp.FieldByName("img") as tblobfield).SaveToFile (tmpjpgfile);
jpeg.LoadFromFile(tmpjpgfile);
bm.Assign(jpeg);
jpeg.Free;
....
....
....
bm.Free;
end;


 
iNew ©   (2002-11-19 07:43) [3]

DbImage не поддеоживает JPEG.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.01 c
14-14749
Anar
2002-11-13 18:32
2002.12.05
Что такое OST?


7-14840
kofman
2002-10-05 20:40
2002.12.05
Как определить часовой пояс?


1-14603
Arhangel
2002-11-24 11:22
2002.12.05
Размер текстового файла?


3-14464
Kurt
2002-11-18 18:05
2002.12.05
Не подскажите а можно ли передовать 2 папраметра из главной


7-14844
VIB
2002-10-01 13:32
2002.12.05
GetLastError() и FormatMessage()




   Наверх