Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.05.21;
Скачать: CL | DM;

Вниз

Скриншот в консольном приложении   Найти похожие ветки 

 
Ezorcist   (2006-04-30 19:06) [0]

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


 
Eraser ©   (2006-04-30 19:18) [1]

BitBlt + TBitmap.SaveToStream


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

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


 
Ezorcist   (2006-04-30 21:18) [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-05-01 08:58) [4]

??


 
Eraser ©   (2006-05-01 17:35) [5]


> Ezorcist   (30.04.06 21:18) [3]


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


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

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



Страницы: 1 вся ветка

Текущий архив: 2006.05.21;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.033 c
3-1142417365
flad
2006-03-15 13:09
2006.05.21
iBase 7.5 -> 6.0


2-1146846130
Melifaro
2006-05-05 20:22
2006.05.21
StringGrid, GridDrawCell


2-1146826978
gadyuka
2006-05-05 15:02
2006.05.21
События мыши


2-1145820159
Галинка
2006-04-23 23:22
2006.05.21
Шрифты в Дельфи


1-1144911936
Alexandr
2006-04-13 11:05
2006.05.21
перезапуск программы