예를들자면,
화상채팅도중에 캡쳐한 영상을 다른 Client에게 전송을 하려합니다.
인디컴포넌트초보라 Image는 어떻게 전송하는지 모르겠습니다.
image전송은 text전송방법과는 다른것 같군요~
고수님들 자세한 설명좀 부탁드립니다.
// 보내는 함수 코딩
procedure TForm1.Button1Click(Sender: TObject);
var
myStream: TMemoryStream;
myJpeg : TJpegImage;
begin
myStream := TMemoryStream.Create;
myJpeg := TJpegImage.Create;
myJpeg.Assign(Image1.Picture.Graphic);
myJpeg.SaveToStream(myStream);
TCPClient1.Connect;
TCPClient1.WriteStream(myStream, True, false);
TCPClient1.Disconnect;
myStream.Free;
myJpeg.Free;
end;
// 받는 부분 코딩
procedure TForm1.TCPServer1Execute(AThread: TIdPeerThread);
var
myStream: TMemoryStream;
myJpeg : TJpegImage;
begin
myStream := TMemoryStream.Create;
myJpeg := TJpegImage.Create;
myStream.Position := 0;
AThread.Connection.ReadStream(myStream, -1, False);
myJpeg.LoadFromStream(myStream);
Image2.Assign(myJpeg);
AThread.Connection.Disconnect;
myStream.Free;
myJpeg.Free;
end;
작성하신 코드는 일반적으로 사용되는 방식입니다.
제가 볼땐 별 무리 없을거 같은데요..
> myStream.Position := 0;
> AThread.Connection.ReadStream(myStream, -1, False);
이 소스코드의 순서를 바꿔 보세요.
즐코 되시길~
델프리 wrote:
>
> 예를들자면,
>
> 화상채팅도중에 캡쳐한 영상을 다른 Client에게 전송을 하려합니다.
>
> 인디컴포넌트초보라 Image는 어떻게 전송하는지 모르겠습니다.
>
> image전송은 text전송방법과는 다른것 같군요~
>
> 고수님들 자세한 설명좀 부탁드립니다.
>
>
> // 보내는 함수 코딩
>
> procedure TForm1.Button1Click(Sender: TObject);
> var
> myStream: TMemoryStream;
> myJpeg : TJpegImage;
> begin
> myStream := TMemoryStream.Create;
> myJpeg := TJpegImage.Create;
>
> myJpeg.Assign(Image1.Picture.Graphic);
> myJpeg.SaveToStream(myStream);
>
> TCPClient1.Connect;
>
> TCPClient1.WriteStream(myStream, True, false);
>
> TCPClient1.Disconnect;
> myStream.Free;
> myJpeg.Free;
> end;
>
>
> // 받는 부분 코딩
>
> procedure TForm1.TCPServer1Execute(AThread: TIdPeerThread);
> var
> myStream: TMemoryStream;
> myJpeg : TJpegImage;
> begin
> myStream := TMemoryStream.Create;
> myJpeg := TJpegImage.Create;
>
> myStream.Position := 0;
> AThread.Connection.ReadStream(myStream, -1, False);
>
> myJpeg.LoadFromStream(myStream);
> Image2.Assign(myJpeg);
>
> AThread.Connection.Disconnect;
> myStream.Free;
> myJpeg.Free;
> end;
>
>