根据浏览器截图
来源:互联网 发布:java xbootclasspath 编辑:程序博客网 时间:2024/04/26 08:43
//读取网页生成IMG public class WebSiteThumbnail { Bitmap m_Bitmap; string m_Url; int m_BrowserWidth, m_BrowserHeight, m_ThumbnailWidth, m_ThumbnailHeight; public WebSiteThumbnail(string Url, int BrowserWidth, int BrowserHeight, int ThumbnailWidth, int ThumbnailHeight) { m_Url = Url; m_BrowserHeight = BrowserHeight; m_BrowserWidth = BrowserWidth; m_ThumbnailWidth = ThumbnailWidth; m_ThumbnailHeight = ThumbnailHeight; } public static Bitmap GetWebSiteThumbnail(string Url, int BrowserWidth, int BrowserHeight, int ThumbnailWidth, int ThumbnailHeight) { WebSiteThumbnail thumbnailGenerator = new WebSiteThumbnail(Url, BrowserWidth, BrowserHeight, ThumbnailWidth, ThumbnailHeight); return thumbnailGenerator.GenerateWebSiteThumbnailImage(); } public Bitmap GenerateWebSiteThumbnailImage() { Thread m_thread = new Thread(new ThreadStart(_GenerateWebSiteThumbnailImage)); m_thread.SetApartmentState(ApartmentState.STA); m_thread.Start(); m_thread.Join(); return m_Bitmap; } private void _GenerateWebSiteThumbnailImage() { WebBrowser m_WebBrowser = new WebBrowser(); m_WebBrowser.ScrollBarsEnabled = false; m_WebBrowser.Navigate(m_Url); m_WebBrowser.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(WebBrowser_DocumentCompleted); while (m_WebBrowser.ReadyState != WebBrowserReadyState.Complete) Application.DoEvents(); m_WebBrowser.Dispose(); } private void WebBrowser_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e) { WebBrowser m_WebBrowser = (WebBrowser)sender; m_WebBrowser.ClientSize = new Size(this.m_BrowserWidth, this.m_BrowserHeight); m_WebBrowser.ScrollBarsEnabled = false; m_Bitmap = new Bitmap(m_WebBrowser.Bounds.Width, m_WebBrowser.Bounds.Height); m_WebBrowser.BringToFront(); m_WebBrowser.DrawToBitmap(m_Bitmap, m_WebBrowser.Bounds); m_Bitmap = (Bitmap)m_Bitmap.GetThumbnailImage(m_ThumbnailWidth, m_ThumbnailHeight, null, IntPtr.Zero); }//调用方法 public void HtmlToImage(string url,string savePath) { string nowDate = DateTime.Now.ToString("yyyyMMddhhmmss"); Bitmap m_Bitmap = WebSiteThumbnail.GetWebSiteThumbnail(url, 390, 400, 590, 600); MemoryStream ms = new MemoryStream(); m_Bitmap.Save(ms, System.Drawing.Imaging.ImageFormat.Png);//JPG、GIF、PNG等均可 bmp和png清晰度高,bmp几乎不压缩 byte[] buff = ms.ToArray(); System.Drawing.Image.FromStream(ms).Save(System.Web.HttpContext.Current.Server.MapPath(savePath));//"~/Manage/UpFile/Images/" + nowDate + ".JPG" ms.Dispose(); }
0 0
- 根据浏览器截图
- 根据布局截图
- js浏览器截图
- 根据某个层来截图
- 根据指定的宽高来截图
- 谷歌浏览器网页截图
- 实现浏览器截图粘贴功能
- Pyqt 浏览器截图小demo
- 使用html2canvas实现浏览器截图
- 使用html2canvas实现浏览器截图
- 根据手机浏览器跳转
- java根据url生成网页截图,缩略图
- java swing根据url生成截图
- javascript根据浏览器userAgent判断浏览器类型
- 根据浏览器分辨率选择页面
- 根据浏览器宽度加载图片
- Java实现网页截图技术,根据URL得到网页快照
- html2canvas根据DOM元素样式实现网页截图
- 适配器Adapter
- ZOJ-3777 Problem Arrangement(dp状态压缩)
- ID3算法实验
- C/C++除法实现方式及负数取模详解
- Android 6.0的变化之权限管理
- 根据浏览器截图
- JDBC(六)
- JS弹出窗口窗口的位置和大小
- vim字符串替换及小技巧
- 打造炫酷进度条
- 函数配置器的举例
- 日期格式转换
- swift学习笔记之继承
- 深入解读Quartz的原理(以及Spring配置)