Форум: "Media";
Текущий архив: 2003.05.01;
Скачать: [xml.tar.bz2];
ВнизПо поводу GIF`а Найти похожие ветки
← →
Gerda (2003-01-24 17:57) [0]Дарова Мастера.
Поставил себе компонент GIFImage, нужно проделать такие действия:
1) Забацать скриншот экрана
2) сжать его в гиф
3) отослать этот гиф потоком через ServerSocket
4) принять на клиенте
5) ну и отобразить
по 1,4,5 вопросов нет, а вот как 2,3 ?? не знаю. Многое перепробовал ничего не получается, мож кто поможет ??
Заранее благодарен.
З.Ы. Вот так я пытаюсь это сделать:
bmp := TBitmap.Create;
bmp.Width := Screen.Width;
bmp.Height := Screen.Height;
bmp.PixelFormat:=pf24bit;
ScreenDC:=GetDC(GetDesktopWindow);
BitBlt(bmp.Canvas.Handle, 0, 0, Screen.Width, Screen.Height, ScreenDC, 0, 0, SRCCopy);
Stream:=TmemoryStream.Create;
GIFImage.SaveToStreamSingle(Stream, bmp, false, false, clWhite);
Socket.SendStream(Stream, Stream.Size);
Stream.Free;
ReleaseDC(Handle, ScreenDC);
bmp.Free;
← →
Gerda (2003-01-24 18:41) [1]Да в строке Socket.SendStream(Stream, Stream.Size); я переборщил там тока Socket.SendStream(Stream);
← →
Gerda (2003-01-24 18:47) [2]И еще на клиенте я принимаю так:
Stream := TMemoryStream.Create;
Screen.Cursor := crHourglass;
try
while True do begin
nReceived := Socket.ReceiveBuf (Buffer, sizeof (Buffer));
if nReceived <= 0
then Break
else Stream.Write (Buffer, nReceived);
Sleep (200); // delay (200 milliseconds)
end;
Stream.Position := 0; // reset and load the temporary file
Form2.GIFImage1.LoadFromStream(Stream);
finally
Stream.Free;
Screen.Cursor := crDefault;
end;
← →
Gerda (2003-01-27 16:14) [3]Ну че никто не знает ??
← →
XmPL (2003-01-27 16:26) [4]может подскажешь как собираешься делать скриншот если на данный момент работает OpenGL или DirectX ?
← →
Gerda (2003-01-27 20:17) [5]Меня пока это не интересует...
Страницы: 1 вся ветка
Форум: "Media";
Текущий архив: 2003.05.01;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.006 c