Вниз
Скачать: 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.017 c
4-14874
Ваня
2002-10-22 10:43
2002.12.05
Можно ли масштабировать ТОЛЬКО шрифт, не задевая другую графику?


4-14856
olphi
2002-10-24 01:45
2002.12.05
GetWindowsDirectory


3-14376
nikolo
2002-11-19 18:27
2002.12.05
ADO: TParameters.CreateParameter


1-14621
For
2002-11-25 04:58
2002.12.05
Вопрос про глобальную переменную?


1-14607
Peroon
2002-11-24 19:32
2002.12.05
OpenDialog




   Наверх