Przeniesienie grafiki z kontrolki panel do klasy Image?

0

Witam, mam kontrolkę panel po której rysuje przy pomocy:

System.Drawing.Graphics graphicsObj = panel.CreateGraphics();
graphicsObj.Clear(SystemColors.GradientInactiveCaption);
...
...

Chciałbym teraz utworzyć i zapisać obraz z części powierzchni kontrolki panel,np.
panel ma (100, 200), a obrazek miałbym zaczynać się (20,20) i kończyć (40,40).

Nie mówcie, że się nie da?
Jeżeli pytanie jest nie zrozumiałe to mogę jeszcze raz je opisać?

0

Użyj BitBlt http://msdn.microsoft.com/en-us/library/dd183370.aspx
Z graphics uzyskaj uchwyt GetHdc() i dla graphics kontrolki i bitmapy. http://msdn.microsoft.com/en-us/library/9z5820hw.aspx
A następnie użyć BitBlt.
Zwolnij uchwyty!!!!!!!!!!!!! try-catch-finally wskazane.

0

Z jakiej przestrzeni nazw jest klasa BitBlt?
Nie bardzo wiem jak mam to ugryźć...

Bitmap B = new Bitmap(100, 100, Graphics.FromHdc(panel.CreateGraphics().GetHdc()));
B.Save("Pic.bmp", System.Drawing.Imaging.ImageFormat.Bmp);

W efekcie dostaje plik zawierający czarne tło...

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