Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Скриншот в консольном приложении [D7, XP]


Ezorcist ©   (2006-04-30 19:06:00) 

Как сделать скриншот и запихнуть его в поток?


Eraser   (2006-05-01 17:35:00) [1]


> Ezorcist   (30.04.06 21:18) [3]


> Почему-то клиенту данных не приходит(


>  MakeScreenshot(bit);
>       bit.SaveToStream(ms);
>      socket.SendStream(ms);

перед socket.SendStream(ms); вставь
ms.Position := 0;


Ezorcist   (2006-05-01 08:58:00) [2]

??


Ezorcist   (2006-04-30 21:18:00) [3]

procedure MakeScreenshot (Bmp: TBitmap);
var
DC: HDC;
begin
Bmp.Width := GetSystemMetrics(0);
Bmp.Height := GetSystemMetrics(1);
DC := GetDC (GetDesktopWindow);
try
  BitBlt (
    Bmp.Canvas.Handle,
    0,0,Bmp.Width,Bmp.Height,
    DC,
    0,0,
    SRCCOPY);
finally
  ReleaseDC (GetDesktopWindow,DC);
end;
end;

...var bit:tbitmap; ms:tmemotystream;
begin
      bit:=tbitmap.Create;
      ms:=tmemorystream.Create;
      MakeScreenshot(bit);
      bit.SaveToStream(ms);
     socket.SendStream(ms);
end;

Почему-то клиенту данных не приходит(
Если сделать так:
      bit:=tbitmap.Create;
      ms:=tmemorystream.Create;
      MakeScreenshot(bit);

Не работает штука
      Image1.Picture.Bitmap.LoadFromStream(MS);
А это работает
      Image1.Picture.Bitmap:=Bit;


Ezorcist   (2006-04-30 20:07:00) [4]

Можно пример?


Eraser   (2006-04-30 19:18:00) [5]

BitBlt + TBitmap.SaveToStream


Наверх

Титульная страница Поиск, карта сайта Написать письмо