Screenshot PictureBoxa

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) ]

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.

0

Yyy... ale po co?

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

`

0

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

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++

        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;
1

Edit:

         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");
 
1
      
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");
0

Wielkie dzięki !

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