Главная страница
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.034 c
2-1146746285
worldmen
2006-05-04 16:38
2006.05.21
SQL


15-1145858500
Ega23
2006-04-24 10:01
2006.05.21
С Днём рождения! 23 апреля


2-1146234817
AlexanderMS
2006-04-28 18:33
2006.05.21
Удаление нескольких выбранных элементов в ListBox


4-1140602600
voe
2006-02-22 13:03
2006.05.21
Нужна помощь с WinRAR`ом


2-1146589846
except
2006-05-02 21:10
2006.05.21
Открыть с помощью...