The?best?way?to?copy?pictures?in?C#?is?most?probably?with?the?use?of?the?BitBlt?API.?Here?is?a?small?example?of?its?implementation:
????public?partial?class?Form1?:?Form
????{
????????const?int?SRCCOPY?=?0xcc0020;
????????[System.Runtime.InteropServices.DllImportAttribute(“gdi32.dll”)]
????????private?static?extern?int?BitBlt(
??????????IntPtr?hdcDest,?????//?handle?to?destination?DC?(device?context)
??????????int?nXDest,?????????//?x-coord?of?destination?upper-left?corner
??????????int?nYDest,?????????//?y-coord?of?destination?upper-left?corner
??????????int?nWidth,?????????//?width?of?destination?rectangle
??????????int?nHeight,????????//?height?of?destination?rectangle
??????????IntPtr?hdcSrc,??????//?handle?to?source?DC
??????????int?nXSrc,??????????//?x-coordinate?of?source?upper-left?corner
??????????int?nYSrc,??????????//?y-coordinate?of?source?upper-left?corner
??????????System.Int32?dwRop??//?raster?operation?code
??????????);
????????public?Form1()
????????{
????????????InitializeComponent();
????????}
????????private?void?Form1_Paint(object?sender,?PaintEventArgs?e)
????????{
????????????Graphics?g?=?e.Graphics;
????????????g.FillRectangle(Brushes.White,?ClientRectangle);
????????????g.DrawRectangle(Pens.Black,?10,?10,?40,?40);
????????????IntPtr?dc?=?g.GetHdc();
????????????BitBlt(dc,?70,?0,?60,?60,?dc,?0,?0,?SRCCOPY);
????????????g.ReleaseHdc(dc);
????????}
????}