2010-09-10 20 views

risposta

3

È possibile utilizzare Control.DrawToBitmap(), anche se è nascosto da Intellisense in VisualStudio. Il WebBrowser eredita ancora dal controllo della classe base, quindi questo metodo esiste. Ma quello che ho fatto è stato creare un MenuStrip con un MenuItem che ho usato per testarlo (questo è fondamentalmente solo un click-evento standard), e invece ho creato un oggetto grafico, e ho copiato una porzione dello schermo usando le coordinate corrette. Le uniche cose che devi veramente modificare sono il nome del controllo WebBrowser e la linea che salva effettivamente l'immagine.

private void copyToolStripMenuItem_Click(object sender, EventArgs e) { 
    int width, height; 
    width = webBrowser1.ClientRectangle.Width; 
    height = webBrowser1.ClientRectangle.Height; 
    using (Bitmap image = new Bitmap(width, height)) { 
     using (Graphics graphics = Graphics.FromImage(image)) { 
      Point p, upperLeftSource, upperLeftDestination; 
      p      = new Point(0, 0); 
      upperLeftSource   = webBrowser1.PointToScreen(p); 
      upperLeftDestination = new Point(0, 0); 
      Size blockRegionSize = webBrowser1.ClientRectangle.Size; 
      graphics.CopyFromScreen(upperLeftSource, upperLeftDestination, blockRegionSize); 
     } 
     image.Save("C:\\Test.bmp"); 
    } 
} 
+0

Questo è esattamente ciò di cui ho bisogno ... grazie – Muse

+0

Lavoro come un fascino. Grazie! – molbalga

Problemi correlati