[BCB] Robienie screen'ow

0

Witam kolegow :)

Mam maly problem z funkcja do robienia zrzutow ekranu. Powie mi ktos co jest zle ze ona nie chce dobrze dzialac ??

Wyglada nastepujaco :

  TCanvas &PulpitCanvas = *new TCanvas();
  TPicture * Picture = new TPicture();
  PulpitCanvas.Handle = GetDC(0);
  Picture->Bitmap->Canvas->CopyRect(Rect(0, 0, Screen->Width, Screen->Height), &PulpitCanvas,
  Rect(0, 0, Screen->Width, Screen->Height));
  Image1->Picture = Picture;
  delete &PulpitCanvas;
  delete Picture;

Chcialem zeby po zrobieniu zrzutu zaladowal mi go do obiektu Image

0

Spieszę się, tak więc nie wiem co robisz źle, masz za to fragment działającego programu w pascalu (przetłumacz sobie).

         JPG := TJPEGImage.Create();
         Bm := TBitmap.Create();
         Bm.Height := Screen.Height;
         Bm.Width := Screen.Width;
         DC := GetWindowDC(GetDesktopWindow);
         BitBlt(bm.Canvas.Handle, 0, 0, Screen.Width, Screen.Height,
                DC, 0, 0, SRCCOPY);
         JPG.Assign(Bm);
         JPG.SaveToFile(FName);
         ReleaseDC(GetDesktopWindow, DC);
         Bm.Free();
         JPG.Free();
0

Z tego co widze ten fragment kodu robi screenshot, konwertuje go na JPG'a i zapisuje do pliku.... Mam gotowa taka funkcje ale chodzi mi o to ze chce zapisac zrzut ekranu do klasy TPicture a potem ja wstawic do obiektu Image... Zrzut sie robi ale nie wyswietla

0

Co za problem przerobić ten kod? Masz screena w TBitmap. Możesz zrobić assign do czegokolwiek potrzebujesz (TJPEG, TPicture) kombinuj

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