2010-09-10 34 views

Antwort

3

Sie könnten Control.DrawToBitmap() verwenden, obwohl es von Intellisense in VisualStudio ausgeblendet wird. Der WebBrowser erbt immer noch von der Basisklasse Control, daher existiert diese Methode. Aber was ich getan habe, war einen MenuStrip mit einem MenuItem zu erstellen, das ich verwendet habe, um dies zu testen (dies ist im Grunde nur ein Standardklickereignis), und stattdessen ein Grafikobjekt erstellt und einen Teil des Bildschirms mit den richtigen Koordinaten kopiert. Die einzigen Dinge, die Sie wirklich anpassen müssen, sind der Name des WebBrowser-Steuerelements und die Zeile, die das Bild tatsächlich speichert.

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

Das ist genau das, was ich brauche ... danke – Muse

+0

Arbeit wie ein Charme. Vielen Dank! – molbalga

Verwandte Themen