Форум: "Сети";
Текущий архив: 2002.04.29;
Скачать: [xml.tar.bz2];
ВнизTStream...получение картинки... Найти похожие ветки
← →
avk (2002-02-15 22:51) [0]значить вроде с отправкой разобрался:
procedure TForm1.Button1Click(Sender: TObject);
var bmp:TBitMap;
srcfile:TStream;
begin
bmp:=TBitMap.Create;
try
bmp.Height:=Screen.Height;
bmp.Width:=Screen.Width;
BitBlt(bmp.Canvas.Handle,0,0,bmp.Width,bmp.Height,GetDC(GetDesktopWindow),0,0,SRCCOPY);
srcfile:=TStream.Create;
bmp.SaveToStream(srcfile);
ServerSocket1.Socket.Connections[0].SendStream(srcfile);
srcfile.Free;
finally
bmp.Free;
end;
а вот как получить клиенту эту картинку?
что-то пытался, но не получаеться...
procedure TForm1.ClientSocket1Read(Sender: TObject;
Socket: TCustomWinSocket);
var bmp:TBitMap;
srcfile:TStream;
begin
srcfile:=TStream.Create;
{???? что здесь надо писать?}
bmp:=TBitMap.Create;
try
bmp.LoadFromStream(srcfile);
bmp.SaveToFile(C:\1.bmp);
finally
bmp.Free;
end;
← →
Ghost. (2002-02-16 09:08) [1]Там не все ак просто надо еще и размер мерить, тебе, что лень в фак заглянуть?
← →
avk (2002-02-16 21:51) [2]вроде написал, должно работать...но ничего не работает:(
сервер:
begin
bmp:=TBitmap.Create;
try
bmp.Height:=Screen.Height;
bmp.Width:=Screen.Width;
BitBlt(bmp.Canvas.Handle,0,0,bmp.Width,bmp.Height,GetDC(GetDesktopWindow),0,0,SRCCOPY);
MS:=TMemoryStream.Create;
try
bmp.SaveToStream(MS);
MS.Position:=0;
Socket.SendText(IntToStr(ms.Size)+#0);
Socket.SendStream(MS);
except
MS.Free;
end;
finally
bmp.Free;
end;
end;
вроде сервер посылает сообщение, а вот клиент принять не может
клиент:
Reciving:=false;
RT:=Socket.ReceiveText;
if GetScreen then
begin
if not Reciving then begin
SetLength(sl,StrLen(PChar(RT))+1);
StrLCopy(@sl[1],PChar(RT),Length(sl)-1);
DataSize:=StrToInt(sl);
Data:=TMemoryStream.Create;
Delete(RT,1,Length(sl));
Reciving:=true;
end;
try
Data.Write(RT[1],length(RT));
if Data.Size=DataSize then <--- вот здесь почему-то размеры не совпадают
begin
Data.Position:=0;
bmp:=TBitMap.Create;
try
bmp.LoadFromStream(Data);
bmp.SaveToFile("C:\screen.bmp");
finally
bmp.Free;
end;
Data.Free;
Reciving:=false;
end;
except
Data.Free;
end;
GetScreen:=False;
end;
Страницы: 1 вся ветка
Форум: "Сети";
Текущий архив: 2002.04.29;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.005 c