通信(USB バルク転送)によって送られた、JPEGファイルデータを
ファイルに落とさずメモリー上からJPEGオブジェクトで表示させた
いのですが、エラーが発生します。
procedure TForm1.Button1Click(Sender: TObject);
var
JPG : TJPEGImage;
Strm: TMemoryStream;
begin
JPG ;= TJPEGImage.Create;
Strm := TMemoryStream.Create;
Strm.Write(JpegData,FileSize);
//ここでテスト用に Strm.SaveToFile('test.jpg');
//としたところ、ファイルはただしく生成された
try
JPG.LoadFromStream(Strm);
Image1.Picture.Assign(JPG);
finally
Strm.Free;
JPG.Free;
end;
end;
見よう見真似で、上記のようにして見ましたが、#41のJPEGエラーとなりました。
どのようにすればいいのか、教えていただけないでしょうか?
単純にMemoryStreamのポジションを0に戻していなかったためでした。
お騒がせしました。
>JPG.LoadFromStream(Strm);
の直前に
Strm.Position := 0;
を入れてください。
ツイート | ![]() |