PrintScreen wybranego fragmentu

PrintScreen wybranego fragmentu
agnieszka
  • Rejestracja:ponad 19 lat
  • Ostatnio:około 15 lat
  • Postów:97
0

Witam,

W jaki sposób mogę zrobić screena małego fragmentu ekranu - tak a żeby szybko na tym operować/obrabiać pixele

mam taki kod

Kopiuj
   int x = Form1->Left + Form1->Width + 10;
    int y = Form1->Top + Form1->Height + 10;
    TCanvas &PulpitCanvas = *new TCanvas();
    Graphics::TBitmap *Bmp = new Graphics::TBitmap;
    PulpitCanvas.Handle = GetDC(0);
    Bmp->Width = Screen->Width;
    Bmp->Height = Screen->Height;

    Bmp->Canvas->CopyRect(Rect(0, 0, 95, 20), &PulpitCanvas, Rect(x, y, x+95, y+20));

    Image1->Picture->Assign(Bmp);
    ReleaseDC(0, PulpitCanvas.Handle);
    delete &PulpitCanvas;
    delete Bmp;

I ładnie robi screena, potem to pakuje do Image o takich że wymiarach. Zapisując Image metoda SaveToFile zapisuje mi o rozdzielczości 1280x800 (Lapek).
To że CopyRect ma jakieś tam wyliczenia to nie ma co patrzeć - może być nawet równo 50x50 - dalej już bym sobie poradziła. A te wyliczenia to po to by zrobił screena obok formy - mały prostokoncik.

Pozdrawiam

darkbit
  • Rejestracja:ponad 20 lat
  • Ostatnio:6 dni
  • Lokalizacja:~Koszalin
0

Bmp->Width = Screen->Width;
Bmp->Height = Screen->Height;

Poustawiaj rozmiary. Jak robisz Assign to zmienia to Ci rozmiary Image'a na te z Bmp.

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.