Ganz einfach: Du willst doch das Bild speichern und nicht den Container. Also brauchst du: (Image1.Picture.Graphic as TJPEGImage).SaveToStream();
Sollte sich mal kein JPEG in dem Image befinden, gibts hier ne
Exception.
Bernhard
Oder man spart sich den Cast? Weil TGraphic (und btw auch TPicture) können in einem Stream speichern. Wenn man es unbedingt in einen JPG haben will:
Delphi-Quellcode:
var
jpg : TGraphic;
begin
jpg := TJPEGImage.Create();
try
jpg.Assign(Image1.Picture.Graphic);
jpg.SaveToStream(stream);
finally
jpg.Free;
end;
end;
So brauchst du nur den Konstruktor ändern und kannst es in alles andere speichern, sofern es von TGraphic erbt. Und du hast keine
Exception und es ist irrelevant was im Image1 steht (
imho).
MfG
Fabian