PrintScreen wybranego fragmentu

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

   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

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.

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