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 !!!