![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Параметры при создании скриншота [D7, XP]
worldmen © (2008-10-24 10:55:00)Надо создать скриншот определенного участка экрана, например начальные координаты 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 // код растровой операции
Не врублюсь какие параметры тут я не правильно поставил.
brother (2008-10-24 12:44:00) [1]> 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);
brother (2008-10-24 12:43:00) [2]на вскидку:
> 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 ;)
worldmen (2008-10-24 12:40:00) [3]Сылка не работает
AlekseyB (2008-10-24 10:59:00) [4]http://z-oleg.com/delphi/graph.htm#gr00008