Memory上のJPEGデータを表示するには?

解決


新鮮組  2004-08-16 19:59:03  No: 10445

通信(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エラーとなりました。
どのようにすればいいのか、教えていただけないでしょうか?


新鮮組  2004-08-16 20:27:34  No: 10446

単純にMemoryStreamのポジションを0に戻していなかったためでした。
お騒がせしました。


jok  2004-08-16 20:28:59  No: 10447

>JPG.LoadFromStream(Strm);

の直前に

Strm.Position := 0;

を入れてください。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加