Screenshot PictureBoxa

Screenshot PictureBoxa
U1
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 10
0

Robię projekt na zajęcia z programowania obiektowego w C++ w Visual Studio, Windows Forms.

Udało mi się już zrobić zrzut całego ekranu i działa bdb ale muszę mieć jeszcze screen tylko pictureBoxa i nie potrafię przerobić tego kodu tak aby działał prawidłowo... Mógłbym prosić kogoś o pomoc?
pictureBox[ Location (179,176), Size(543,367) ]

Kopiuj
Rectangle^ bounds;
		System::Drawing::Bitmap^ screenshot;
		Graphics^ graph;
		bounds = Screen::PrimaryScreen->Bounds;
		screenshot = gcnew System::Drawing::Bitmap(bounds->Width, bounds->Height, 
System::Drawing::Imaging::PixelFormat::Format32bppArgb);
		graph = Graphics::FromImage(screenshot);
		graph->CopyFromScreen(bounds->X, bounds->Y, 0, 0, bounds->Size, CopyPixelOperation::SourceCopy); 

Z góry dziękuje za pomoc i proszę o wyrozumiałość, dopiero zaczynam.

Azarien
  • Rejestracja: dni
  • Ostatnio: dni
0

Yyy... ale po co?

Kopiuj
pictureBox->Image->Save("blah.png");

`

U1
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 10
0

Na tego pictureBoxa dodaje onClick inna grafike i chce zeby to sie zapisalo w pliku razem z tymi dodanymi obrazkami na pictureboxa

  • Rejestracja: dni
  • Ostatnio: dni
1

Ten kod zapisuje picturebox razem z grafika:
Kod dziala jak nalezy ale jest to napisane w C#.
Mysle ze mozna to zamienic na C++

Kopiuj
        Size s  = pictureBox1.Size;
    Bitmap memoryImage = new Bitmap(s.Width, s.Height);
    Graphics memoryGraphics = Graphics.FromImage(memoryImage);
    Point ScreenPos  = this.pictureBox1.PointToScreen(new Point(0, 0));
    memoryGraphics.CopyFromScreen(ScreenPos.X, ScreenPos.Y, 0, 0, s);
    pictureBox2.Image = memoryImage;
  • Rejestracja: dni
  • Ostatnio: dni
1

Edit:

Kopiuj
         Size s  = pictureBox1.Size;
    Bitmap memoryImage = new Bitmap(s.Width, s.Height);
    Graphics memoryGraphics = Graphics.FromImage(memoryImage);
    Point ScreenPos  = this.pictureBox1.PointToScreen(new Point(0, 0));
    memoryGraphics.CopyFromScreen(ScreenPos.X, ScreenPos.Y, 0, 0, s);
    memoryImage.Save("D:\\filename2.png");
 
  • Rejestracja: dni
  • Ostatnio: dni
1
Kopiuj
      
Size s  = pictureBox1.Size;
    Bitmap memoryImage = new Bitmap(s.Width, s.Height);
    Graphics memoryGraphics = Graphics.FromImage(memoryImage);
    Point ScreenPos  = this.pictureBox1.PointToScreen(new Point(0, 0));
    memoryGraphics.CopyFromScreen(ScreenPos.X, ScreenPos.Y, 0, 0, s);
    memoryImage.Save("D:\\filename2.png");
U1
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 10
0

Wielkie dzięki !

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.