■ WebBrowser 클래스에서 특정 URL 화면을 캡처하는 방법을 보여준다.
▶ 예제 코드 (C#)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 |
using System.Drawing; using System.Windows.Forms; #region 캡처하기 - Capture(url, width, height) /// <summary> /// 캡처하기 /// </summary> /// <param name="url">URL</param> /// <param name="width">너비</param> /// <param name="height">높이</param> /// <returns>Bitmap 객체</returns> public Bitmap Capture(string url, int width, int height) { WebBrowser webBrowser = new WebBrowser(); webBrowser.ScrollBarsEnabled = false; webBrowser.ScriptErrorsSuppressed = true; webBrowser.Navigate(strURL); while(webBrowser.ReadyState != WebBrowserReadyState.Complete) { Application.DoEvents(); } webBrowser.Width = width; webBrowser.Height = height; if(width == -1) { webBrowser.Width = webBrowser.Document.Body.ScrollRectangle.Width; } if(height == -1) { webBrowser.Height = webBrowser.Document.Body.ScrollRectangle.Height; } Bitmap bitmap = new Bitmap(webBrowser.Width, webBrowser.Height); webBrowser.DrawToBitmap(bitmap, new Rectangle(0, 0, webBrowser.Width, webBrowser.Height)); webBrowser.Dispose(); return bitmap; } #endregion #region 캡처하기 - Capture(url) /// <summary> /// 캡처하기 /// </summary> /// <param name="url">URL</param> /// <returns>Bitmap</returns> public Bitmap Capture(string url) { return Capture(url, -1, -1); } #endregion |