604
社区成员
发帖
与我相关
我的任务
分享
void __fastcall TForm1::btn_1Click(TObject *Sender)
{
HDC dc = GetDC(0) ;
TCanvas * myCanvas = new TCanvas() ;
Graphics::TBitmap * myBitmap = new Graphics::TBitmap();
TJPEGImage *pimg = new TJPEGImage;
myCanvas->Handle = dc ;
myBitmap->Width = 1024;
myBitmap->Height = 768;
TMemoryStream *Sys_Buffer = new TMemoryStream();
myBitmap->Canvas->CopyRect(Rect(0,0,1024,768),myCanvas,Rect(0,0,1024,768));
pimg->Assign(myBitmap);
pimg->CompressionQuality=100;
pimg->SaveToStream(Sys_Buffer);
Sys_Buffer->Position=0;
//上面的不用管
int Y=108;
int len = (int)Sys_Buffer->Size+2;
char *socket_buffer=new char[(int)Sys_Buffer->Size+1];
socket_buffer[0]=(char)Y;
socket_buffer[1]=(char)len;
Sys_Buffer->Position=0;
ShowMessage (Sys_Buffer->Size);
Sys_Buffer->Read(&socket_buffer[2],Sys_Buffer->Size);
// memcpy(&socket_buffer[2],Sys_Buffer,Sys_Buffer->Size);
Sys_Buffer->Clear();
TMemoryStream *Buffer= new TMemoryStream();
Buffer->SetSize(len-2);
Buffer->Position=0;
Buffer->Write(&socket_buffer[2],len-2);
//memcpy(Buffer->Memory,&socket_buffer[2],len-2);
Buffer->Position=0;
pimg->LoadFromStream(Buffer);
myBitmap->Assign(pimg);
img_1->Canvas->CopyRect(Rect(0,0,1024,768),myBitmap->Canvas,Rect(0,0,1024,768));
Sys_Buffer->Clear();
ReleaseDC(0,dc) ;
delete myCanvas ;
delete myBitmap ;
delete pimg;
}