Autor Beitrag
Fanatics
Hält's aus hier
Beiträge: 6



BeitragVerfasst: So 11.08.02 00:28 
ich möchte ein jpg-bild, das in einer sql-server2000-datenbank gespeichert(datentyp image) ist über ADO auslesen und weiterverarbeiten (speichern, anzeigen etc...)

dazu habe ich folgenden code geschrieben, der aber nicht funktioniert...WARUM ????

ich bekomme immer nur eine 1MB-Datei, die aber kein JPG-File darstellt.
ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
procedure TForm1.Button1Click(Sender: TObject);
var
  jpegimage :TJPEGImage;
  stream : TMemoryStream;
begin
try
  jpegimage := TJPEGImage.Create;
  stream := TMemoryStream.Create;
  TBlobField(ADODataSet1.FieldByName('Bild')).SaveToStream(stream);
  jpegimage.LoadFromStream(stream);
  jpegimage.SaveToFile('E:\Test.jpg');
except
  on e:exception do begin
    ShowMessage(e.Message);
  end;
end;
end;


gruß

Fred
Simon Joker
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 236
Erhaltene Danke: 1



BeitragVerfasst: Fr 16.08.02 12:28 
Titel: Streamposition vergessen
Hi Fanatics

probiere es mal so:
ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
try
  Stream:=TMemoryStream.Create;
  JP:=TJpegImage.Create;
  TaBilderP_Data.SaveToStream(Stream);
  Stream.Position:=0;
  JP.LoadFromStream(Stream);
  Image.Picture.Bitmap.Assign(JP);
finally
  Stream.Free;
  JP.Free;
end;


Cu Simon[/code]
Fanatics Threadstarter
Hält's aus hier
Beiträge: 6



BeitragVerfasst: Fr 16.08.02 21:09 
danke, aber ich habe das problem bereits gefunden....
mit deinem code geht's übrigens auch nicht, da vor dem eigentlichen bild noch andere informationen stehen....man muss den zeiger des streams erst auf den anfang (FFD8) des bildes positionieren und dann gehts ...
trotzdem danke...

gruß

Fanatics
Simon Joker
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 236
Erhaltene Danke: 1



BeitragVerfasst: Fr 16.08.02 21:56 
Ja, hatte ich vergessen zu erwähnen. Mein Feld war ein Blob-Feld. Da sind keine Dateiinformationen vornweg. Das Problem war aber genau das gleiche.