
Nếu bạn muốn chụp ảnh màn hình của một trang web, hãy sử dụng đoạn mã dưới đây.
private void WebsiteScreenshot(string url, string file)
{
//Tạo đối tượng WebBrowser
WebBrowser browser = new WebBrowser();
//Ẩn thanh cuộn trên WebBrowser nếu không muốn hiển thị trong ảnh
browser.ScrollBarsEnabled = false;
//Tắt cửa sổ popup báo lỗi javascript
browser.ScriptErrorsSuppressed = true;
//Mở trang web
browser.Navigate(new Uri(url));
//Đợi cho tới khi đã tải xong trang
while (browser.Document == null || browser.Document.Body == null)
Application.DoEvents();
//Chỉnh lại kích thược của webbrowser bằng với kích thước của webpage
Rectangle websiteSize = browser.Document.Body.ScrollRectangle;
browser.Size = new Size(websiteSize.Width,websiteSize.Height);
//Tạo ra đối tượng Bitmap có cùng kích thước với website
Bitmap bmp = new Bitmap(websiteSize.Width, websiteSize.Height);
//Vẽ nội dung của website vào đối tượng bitmap
browser.DrawToBitmap(bmp,
new Rectangle(0, 0, websiteSize.Width, websiteSize.Height));
browser.Dispose();
//Lưu hình ảnh bitmap vào tệp
bmp.Save(file, ImageFormat.Png);
}
Chúng ta sử dụng hàm trên như sau:
WebsiteScreenshot("https://csharpcanban.com/", "c:website_screenshot.png");
Nếu các bạn muốn thay đổi định dạng của tệp hình ảnh, thì hãy thay đổi thuộc tính ImageFormat-type trong hàm trên nhé. Chúc các bạn thành công !!!