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

Вниз

Параметры при создании скриншота   Найти похожие ветки 

 
worldmen   (2008-10-24 10:55) [0]

Надо создать скриншот определенного участка экрана, например начальные координаты x=100 y=100 конечные- x2=200 y2=200
Есть код:var bmp:TBitmap;
begin
   bmp := TBitmap.Create;
   bmp.Width := Screen.Width;
   bmp.Height := Screen.Height;
   StretchBlt(bmp.Canvas.Handle,100,100, 200,200, GetDC(0),100,100, 200,200, SRCCOPY);

   Image1.Width := 200; // Screen.Width;
   Image1.Height:= 200; // Screen.Height;
   Image1.Picture.Assign(bmp);
   bmp.Free;

Есть описания функции:
BOOL StretchBlt(
 HDC hdcDest,         // дескриптор приемного DC
 int nXOriginDest,    // x-коорд. верхнего левого угла приёмника
 int nYOriginDest,    // y-коорд. верхнего левого угла приёмника
 int nWidthDest,      // ширина приёмного прямоугольника
 int nHeightDest,     // высота приёмного прямоугольника.
 HDC hdcSrc,          // дескриптор исходного DC
 int nXOriginSrc,     // x-коорд.верхнего левого угла источника
 int nYOriginSrc,     // y-коорд.верхнего левого угла источника
 int nWidthSrc,       // ширина исходного прямоугольника
 int nHeightSrc,      // высота исходного прямоугольника
 DWORD dwRop          // код растровой операции
Не врублюсь какие параметры тут я не правильно поставил.


 
AlekseyB   (2008-10-24 10:59) [1]

http://z-oleg.com/delphi/graph.htm#gr00008


 
worldmen   (2008-10-24 12:40) [2]

Сылка не работает


 
brother ©   (2008-10-24 12:43) [3]

на вскидку:
>   StretchBlt(bmp.Canvas.Handle,100,100, 200,200, GetDC(0)
> ,100,100, 200,200, SRCCOPY);

это ширина и высота равны 200
у тебя:


> координаты x=100 y=100 конечные- x2=200 y2=200

те ширина и высота 100 ;)


 
brother ©   (2008-10-24 12:44) [4]

>   Image1.Width := 200; // Screen.Width;
>   Image1.Height:= 200; // Screen.Height;

не понял? тебе 200 на 200 надо? тгда координаты (они абсолютные) должны быть
StretchBlt(bmp.Canvas.Handle,100,100, 300,300, GetDC(0),100,100, 300,300, SRCCOPY);



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

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

Наверх




Память: 0.47 MB
Время: 0.013 c
11-1196160842
Vinum
2007-11-27 13:54
2008.12.07
Как отловить нажатие клавиш влево-вправо на KOL-форме


2-1225089628
Гость
2008-10-27 09:40
2008.12.07
Нетипизированный файл.


2-1224701211
cruiser
2008-10-22 22:46
2008.12.07
Запуск приложения и ождание завершения, при этом форма активна


2-1225036430
AWiiS
2008-10-26 18:53
2008.12.07
Delphi и Access - заставить жить дружно


6-1196066866
tytus
2007-11-26 11:47
2008.12.07
как заставить Indy 10 передавать тело письма по русски ?