Screenshot tylko aktywnego okna programu.

Screenshot tylko aktywnego okna programu.
BB
  • Rejestracja:około 4 lata
  • Ostatnio:6 miesięcy
  • Postów:39
0

Cześć.
Chciałbym zrobić zrzut ekranu tylko aktywnego okna, lecz mam problem z paskami po bokach i u dołu.
Użyłem następującego kodu:

Kopiuj
                Rectangle bounds = this.Bounds;
                using (Bitmap bitmap = new Bitmap(bounds.Width, bounds.Height))
                {
                    using (Graphics g = Graphics.FromImage(bitmap))
                    {
                        g.CopyFromScreen(new Point(bounds.Left, bounds.Top), Point.Empty, bounds.Size);
                    }

128.png

Jak to uciąć?

  • 128.png (69 KB) - ściągnięć: 13
edytowany 1x, ostatnio: bboylubsko
katakrowa
  • Rejestracja:ponad 10 lat
  • Ostatnio:około 2 lata
  • Lokalizacja:Chorzów
  • Postów:1670
2

Może lepiej funkcją systemową ( czyli odpowiednikiem Alt+PrintScreen ale przez WinAPI )
https://stackoverflow.com/questions/11283015/screen-capture-specific-window

Kluczem jest chyba: GetWindowRect


Projektowanie i programowanie. Hobbystycznie elektronika i audio oszołom.
edytowany 1x, ostatnio: katakrowa
S2
  • Rejestracja:ponad 6 lat
  • Ostatnio:około 4 lata
  • Postów:41
1

http://www.developerfusion.com/code/4630/capture-a-screen-shot/

BB
  • Rejestracja:około 4 lata
  • Ostatnio:6 miesięcy
  • Postów:39
0

Niestety nie za bardzo wiem jak skorzystać z opcji z postu 1. Opcja z postu 2 również pozostawia paski po bokach i u dołu.temp2.png

Dodam, że Alt+Print Scrn działa prawidłowo, czyli pomysł byłby dobry.

edytowany 3x, ostatnio: bboylubsko

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.