Merhaba
İlk olarak bir bmp nesnesi üretelim.
Bmp := TBitMap.Create;
Sonra şuna odaklanalım. Mouse nerede ve mouse un çevresindeki ne kadarlık kısımım Fotosunu çekecez.
100 e 100 lük bir görüntü bana yeter.
Bmp.Witdh := Round(100);
Bmp.Height := Round(100);
Şimdi sıra BitBlt fonksiyonumuzu kullanmaya geldi.
BitBlt(bmp.Canvas.Handle,0,0,100,100,GetWindowDc(mouse.Capture),mouse.CursorPos.X - 50,mouse.CursorPos.y - 50,SRCCOPY);
burada kullandığım mouse.CursorPos.X - 50,mouse.CursorPos.y - 50 bu özellikler mosuse bulunduğu pozisyonu baz aldığı için -50 verdim yani pozisyonu ortalaması için - 50 ye gir dedim.
işte olayımız bu kadar basit şimdi kodumuzu test edelim. boş bir form açalım formumuza 1 adet button ekleyelim ve kodumuzu yapıştıralım.
Kod: Tümünü seç
procedure TForm1.Button1Click(Sender: TObject);
var BMP: TBitMap;
begin
BMP:=TBitMap.Create;
try
BMP.Width:=Round(100);
BMP.Height:=Round(100);
BitBlt(bmp.Canvas.Handle,0,0,100,100,GetWindowDc(mouse.Capture),mouse.CursorPos.X - 50,mouse.CursorPos.y - 50,SRCCOPY);
BMP.SaveToFile('Husonet.bmp');
finally
BMP.Free;
end;
end;
Projemizi run yapalım
Şimdi mousemuzu fotosunu çekmek istediğimiz ekranın herhangi bir yerine götürüp Space tuşuna basalım. Sonra da resmimizi açıp bakalım.
İşte fotomuz çıkmış. Artık tab ettirebilirsiniz

. Geri kalan kısmı hayal gücünüze kalmış.
Kolay Gelsin...