??? Как передать картинку по сети ? Пробовал строкой отсылать несколько точек за раз , но это явно медленновато .
Warlock
30.06.2003 9:56
Что понимается по пересылкой по сети? Какой компонент используется? Я так понимаю, что-то из FastNet? Самый лучший способ передачи по TCP/IP есть передача потоков (Socket.SendStream). Если мне не изменяет склероз, то есть еще и SendFile у того же Socket. Это общие слова. Сконкретизируй задачу - возможно, ответ будет более подробный.
LP_FUNKy
30.06.2003 12:38
Задача - взять скриншот отобразить у себя в Image отослать на др. машину отобразить там
Компонент - любой но желательно конечно фаст-нетовский tcp/ip А насчет Stream и File я пробовал но не получается (может есть пример из FAQ у кого ?) записать BMP в поток и прочиать его оттуда . А с файлами - глючит безбожно .
mj
30.06.2003 14:41
У меня есть что те надо...
LP_FUNKy
1.07.2003 13:26
Цитата
У меня есть что те надо...
Не томи ! Ответь !
mj
2.07.2003 14:30
примеры у меня дома... как на работу возьму винт, выложу здесь пример... а каие картинки надо передавать? можно например в файл сохранить, а потом файл передать... а вообще если надо без файлов, придётся немного подождать ответа...
Warlock
3.07.2003 9:04
Все не так просто, но и не так сложно. Приведу тебе реально рабочий код, доработаешь под свои нужды. Не получается потому, что фастнетовские компоненты довольно хитро передают данные, и не так просто их выцарапать из потока. В общем, смотри:
Передача
var
BitMapStream:TMemoryStream;
begin
BitMapStream := TMemoryStream.Create;
Что-то-там.Picture.Bitmap.SaveToStream(BitMapStream);
try
NMStrm.Host:=Edit_IPADDRESS.Text; // Компонент TNMStrm
NMStrm.PostIt(BitMapStream);
finally
BitMapStream.Free;
NMStrm.Disconnect;
end;
end;
Прием:
// Обработчик события OnMSG для TNMStrmServ
procedure TForm1.NMStrmServMSG(Sender: TComponent;
const sFrom: String; strm: TStream);
var
Bitmap : TBitmap;
BitMapStream : TMemoryStream;
begin
Bitmap:=TBitmap.Create;
BitMapStream:= TMemoryStream.Create;
BitMapStream.CopyFrom(strm,strm.Size);
Bitmap.LoadFromStream(BitMapStream);
Image_ScrollBox.Picture.Graphic:=Bitmap;
BitMapStream.Free
end;
Вот и все. Все работает в реальном проекте. Да, кстати TNMStrmServ.ReportLevel в обжект инспекторе поставь в 2. Будут вопросы - пиши.
mj
3.07.2003 16:47
Этот пожалуй способ полегче моего будет... Я через дибы делал...
LP_FUNKy
28.08.2003 13:37
Ой спасибки всем !
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.