저는 델파이 왕초보인데요.
TCP/IP를 통해서 이미지 전송을 하려는데 fileStream을 써서 구현하였습니다.
아래 소스에 보시면... 파일 스트림을 만들어서 받은 스트림을 여기에 카피하고, 파일로 저장되면, jpg에서 이 파일을 읽어온 후, 화면에 이 jpg를 뿌리는 것으로 구현하였습니다.
근데 파일을 사용하다보니 일단 속도가 느려서 너무 않좋더군요. 원래는 memoryStream을 쓰다가 안돼서 파일스트림을 쓴건데요. 결정적으로 jpg.LoadFromStream(메모리 또는 파일 스트림)이 안되는데.. 이거 원래 안되는 건가요? 이거만 되면 좋겠는데.. 이게 안되니까 아래와 같은 생노가다를 시키게 되네요.. ㅠ_ㅠ
고수님들의 조언 꼭 부탁드립니다.
받는쪽(서버)
procedure TForm1.NMStrmServMSG(Sender: TComponent; const sFrom: String;
strm: TStream);
var
ImgStrm: TFileStream;
Jpg: TJPEGimage;
begin
Jpg := TJPEGimage.Create;
ImgStrm := TFileStream.create('temp.jpg',fmOpenReadWrite);
ImgStrm.CopyFrom(strm,strm.Size);
ImgStrm.Destroy;
Jpg.LoadFromFile('temp.jpg');
Image1.Picture.Assign(Jpg);
Jpg.Free;
end;