2010-09-10 42 views

Trả lời

3

Bạn có thể sử dụng Control.DrawToBitmap(), mặc dù nó bị ẩn khỏi Intellisense trong VisualStudio. WebBrowser vẫn kế thừa từ lớp cơ sở Control, vì vậy phương thức này tồn tại. Nhưng những gì tôi đã làm là tạo một MenuStrip với một MenuItem mà tôi đã sử dụng để kiểm tra điều này (về cơ bản chỉ là một sự kiện nhấp chuẩn), và thay vào đó tạo ra một đối tượng đồ họa, và sao chép một phần màn hình bằng cách sử dụng đúng cách. Những điều duy nhất bạn sẽ cần phải điều chỉnh thực sự, là tên của điều khiển WebBrowser, và dòng thực sự lưu hình ảnh.

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

Đây chính xác là những gì tôi cần ... cảm ơn – Muse

+0

Làm việc như một sự quyến rũ. Cảm ơn! – molbalga

Các vấn đề liên quan