Kopiowanie fragmentu ekranu

Odpowiedz Nowy wątek
2005-10-22 15:11
maciek150
0

Witam!

Mam takie pytanie. Jak skopiować fragment ekranu? Tzn. chodzi mi o to, żeby np. zapisać w pliku rysunek.bmp prostokąt z ekranu o współrzędnych wierzchołkow (12,12) i (100,100). Nie wiem jak to wyjanić....

No określony współrzędnymi fragment widocznego ekranu.

Z góry dzięki

Pozostało 580 znaków

2005-10-22 18:00
^PEDROS^
0

Jezeli chodzi ci o fragment ekranu np. zdjecie aktywnego okna to wciskasz na klawiaturze alt+ctrl-print screen. !!!
Mam oczywiscie na mysli bys zastosował te klawisze w swojej aplikacji, poprzez symulacje nacisniecia tych klawiszy !!! ;)

Pozostało 580 znaków

2005-10-22 19:27

Cześć

 Jpeg,    //biblioteka do obsługi formatu JPG
 //zmienne globalne
 NazwaPliku :String;
 X          :Integer;
 
{==== Zrzut Ekranu i zapis do pliku w formacie JPG ====}
procedure TForm1.ZrzutEkranu(NazwaPliku :String);
var
 can         :TCanvas;
 obrazekBMP  :TBitmap;
 obrazekJPG  :TJPEGImage;
 kl,ln,sz,wy :Integer;
Begin
 can:= TCanvas.Create;
 can.Handle:= GetWindowDC(GetDesktopWindow); //przechwycenie uchwytu ekranu
 obrazekBMP:= TBitmap.Create;
 obrazekJPG:= TJPEGImage.Create;
 try
   //parametry wycinka (okreslone miejsce na ekranie)
   kl:= 589; ln:= 187;  sz:= 200; wy:= 150;
   //parametry wycinka (cały ekran)
   //kl:= 0; ln:= 0;  sz:= Screen.Width; wy:= Screen.Height;
   obrazekBMP.Width:= sz; obrazekBMP.Height:= wy;
   obrazekBMP.Canvas.CopyRect(Rect(0,0,sz,wy), Can, Rect(kl,ln, kl+sz,ln+wy));
   obrazekJPG.Assign(obrazekBMP);
   obrazekJPG.SaveToFile(NazwaPliku);
   Beep;
 finally
   can.Free;
   obrazekBMP.Free;
 end;
End; 
{===============================}
procedure TForm1.Button1Click(Sender: TObject);
var
 sciezka :String;
Begin
 sciezka:= 'c:\Moje Dokumenty';
 //kreuje katalogio podanej ścieżce
 if not DirectoryExists(sciezka) then ForceDirectories(sciezka);
 Inc(X);
 NazwaPliku:= Sciezka+ '\Zrzut '+ IntToStr(x) +'.jpg';
 ZrzutEkranu(NazwaPliku);
 Image1.Picture.LoadFromFile(NazwaPliku);           //wczytuje gotowy zrzut z pliku
End; 

Milczenie jest odpowiedzią - więc pytaj będę milczał ;)
Kod generuje wyciek pamięci (obiekt 'obrazekJPG' nie zwolniony). - marogo 2012-06-18 23:07

Pozostało 580 znaków

2012-06-17 21:25
R2D2
0

dzięki - bardzo pomocne
pozdrawiam

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych 0, gości 1, botów: 0