Вниз
Скачать: CL | DM;

Помогите со снимком экрана.   Найти похожие ветки 

← →
_Split_   (2003-03-30 17:52) [0]

Помогите со получением снимка определенной части экрана. Например середины экрана - квадрат 200 х 200.


← →
dim- ©   (2003-03-30 18:12) [1]

Посмотри, взял где-то здесь.
procedure TForm1.Timer1Timer(Sender: TObject);
Var
Srect,Drect,PosForme:TRect;
iWidth,iHeight,DmX,DmY:Integer;
iTmpX,iTmpY:Real;
C:TCanvas;
Kursor:TPoint;

begin
If not IsIconic(Application.Handle) then begin
// Получаем координаты курсора
GetCursorPos(Kursor);
// PosForm представляет прямоугольник с
// координатами Form (image control).
PosForme:=Rect(Form1.Left,
Form1.Top,
Form1.Left+Form1.Width,
Form1.Top+Form1.Height);
//Показываем magnified screen
//если курсор за пределами формы.
If not PtInRect(PosForme,Kursor) then begin
// Далее код можно использовать для увеличения выбранной
// части экрана. С небольшими модификациями его можно
// использовать для уменьшения
// экрана
iWidth:=Image1.Width;
iHeight:=Image1.Height;
Drect:=Bounds(0,0,iWidth,iHeight);
iTmpX:=iWidth / (TrackBar1.Position * 4);
iTmpY:=iHeight / (TrackBar1.Position * 4);
Srect:=Rect(Kursor.x,Kursor.y,Kursor.x,Kursor.y);
InflateRect(Srect,Round(iTmpX),Round(iTmpY));
//Получаем обработчик(handle) окна рабочего стола.
C:=TCanvas.Create;
try
C.Handle:=GetDC(GetDesktopWindow);
//Передаём часть изображения окна в TImage.
Image1.Canvas.CopyRect(Drect,C,Srect);
finally
C.Free;
end;
end;
// Обязательно обрабатываем все сообщения Windows.
Application.ProcessMessages;
end; // IsIconic


← →
SammIk ©   (2003-03-31 09:11) [2]

Пробуи
BitBit(DestDC: HDC; X, Y, Width, Height: Integer; SrcDC: HDC; XSrc, YSrc: Integer; Rop: Longint): Bool;

DestDC- Дескриптор канвы
X, Y- верхнии левыи угол снимка
Width, Height- ???(
SrcDC- Дескриптор канвы десктопа
XSrc, YSrc - куда встовлять(обычно 0,0)
Rop- флаг, тебе нужен CopySrc


← →
Intell ©   (2003-03-31 20:39) [3]

Есть компонент, чтобы проще жить было. Если надо - мыло:
sergein@nojabrsk.ru



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

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.012 c
3-83416
Hmuriy
2003-05-06 22:25
2003.05.26
символьное поле


7-83758
ed
2003-03-25 23:42
2003.05.26
флоп


3-83349
StillBird
2003-05-05 18:05
2003.05.26
Как передать имя базы данных как параметр процедуры ?


3-83329
eee
2003-05-05 12:23
2003.05.26
DBGrid


14-83658
GOOD
2003-05-03 03:58
2003.05.26
ВНИМАНИЕ!! НЕ ВЕРЬТЕ РЕФИРАЛАМ НЕ поддавайтесь обману! ВНИМАНИЕ!!




   Наверх