Главная страница
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.012 c
15-1223037338
БарЛог
2008-10-03 16:35
2008.12.07
USB-автомагнитола


15-1223242931
обана!
2008-10-06 01:42
2008.12.07
А было бы нефигово


15-1223069414
Германн
2008-10-04 01:30
2008.12.07
Чёрт знает что печатается на принтере


1-1202831739
somebody_
2008-02-12 18:55
2008.12.07
Статическая компоновка кода Делфи и С++


2-1224846527
NieL
2008-10-24 15:08
2008.12.07
проблема с OLE-сервером (AccessViolation)