C#网页 截图
- using System.IO;
- using System.Drawing;
- using System.Drawing.Imaging;
- using System.Threading;
- using System.Windows.Forms;
- using System;
- namespace ConsoleApp1
- {
- public class CaptureWebPage
- {
- public byte[] picbytes;
- public CaptureWebPage(string url)
- {
- string bmpPath =DateTime.Now.ToString("yyyyMMddHHmmssffff")+".bmp";
- Bitmap bmp = new Bitmap(,);
- makepicture(url);
- bmp = ByteToImage(picbytes);
- bmp.Save(bmpPath);
- }
- private void makepicture(string url)
- {
- Thread thread = new Thread(delegate ()
- {
- using (WebBrowser browser = new WebBrowser())
- {
- browser.ScrollBarsEnabled = true;
- browser.AllowNavigation = true;
- browser.Navigate(url);
- browser.Width = ;
- browser.Height =;
- browser.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(DocumentCompleted);
- while (browser.ReadyState != WebBrowserReadyState.Complete)
- {
- System.Windows.Forms.Application.DoEvents();
- }
- }
- });
- thread.SetApartmentState(ApartmentState.STA);
- thread.Start();
- thread.Join();
- }
- private void DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
- {
- WebBrowser browser = sender as WebBrowser;
- using (Bitmap bitmap = new Bitmap(browser.Width, browser.Height))
- {
- browser.DrawToBitmap(bitmap, new System.Drawing.Rectangle(, , browser.Width, browser.Height));
- using (MemoryStream stream = new MemoryStream())
- {
- bitmap.Save(stream, System.Drawing.Imaging.ImageFormat.Png);
- byte[] bytes = stream.ToArray();
- picbytes = bytes;
- }
- }
- }
- public static Bitmap ByteToImage(byte[] blob)
- {
- MemoryStream mStream = new MemoryStream();
- byte[] pData = blob;
- mStream.Write(pData, , Convert.ToInt32(pData.Length));
- Bitmap bm = new Bitmap(mStream, false);
- mStream.Dispose();
- return bm;
- }
- }
- }
C#网页 截图的更多相关文章
- 使用PhantomJS实现网页截图服务
这是上半年遇到的一个小需求,想实现网页的抓取,并保存为图片.研究了不少工具,效果都不理想,不是显示太差了(Canvas.Html2Image.Cobra),就是性能不怎么样(如SWT的Brower). ...
- html2canvas 网页截图 下载 上传
利用html2canvas插件 对网页截图 并下载和上传图片. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//E ...
- iPhone 收藏网址[添加到书签] 和 [添加到主屏幕] 显示自定义图标,而不是网页截图
iPhone 收藏网址[添加到书签] 和 [添加到主屏幕] 显示自定义图标,而不是网页截图: <!-- Safari浏览器[添加到书签] --> <link rel="sh ...
- chrome也可以整张网页截图,保存完整网页为图片
转自:http://www.webkaka.com/blog/archives/chrome-save-a-webpage.html 关于浏览器截图,一直以为Chrome无能为力,最近发现,原来Chr ...
- 如何以Java实现网页截图技术
转自 http://blog.csdn.net/cping1982/article/details/5353049 今天看到某网友关于“如何以Java实现网页截图技术”的咨询帖,由于出现该咨询的地 ...
- 网页截图工具CutyCapt
网页截图工具CutyCapt CuteCapt是Kali Linux提供的一款网页截图工具.该工具运行在命令行中,可以将WebKit引擎解析的网页保存为图片.它保存的文件支持矢量图和位图两大类型, ...
- Python中使用 Selenium 实现网页截图实例
Selenium 是一个可以让浏览器自动化地执行一系列任务的工具,常用于自动化测试.不过,也可以用来给网页截图.目前,它支持 Java.C#.Ruby 以及 Python 四种客户端语言.如果你使用 ...
- 使用html2canvas实现网页截图,并嵌入到PDF
使用html2canvas实现网页截图并嵌入到PDF 以前我们只能通过截图工具进行截取图像.这使得在业务生产中,变得越来越不方便.目前的浏览器功能越来越强大,H5也逐渐普及,浏览器也可以实现截图了.这 ...
- 有了 serverless,前端也可以快速开发一个 Puppeteer 网页截图服务
更多云原生技术资讯可关注阿里巴巴云原生技术圈. Puppeteer 是什么? puppeteer 官网的介绍如下: Puppeteer is a Node library which provides ...
- selenium网页截图和截图定位(无界面)phantomjs
phantomjs是一款软件,需要重新安装. 参考: https://blog.csdn.net/liyahui_3163/article/details/79064108 案例代码: from se ...
随机推荐
- Z从壹开始前后端分离【 .NET Core2.2/3.0 +Vue2.0 】框架之八 || API项目整体搭建 6.3 异步泛型仓储+依赖注入初探
本文梯子 本文3.0版本文章 回顾 1.Sqlsugar 的使用 2.修改数据连接字符串 今天要完成的浅紫色部分 一.设计仓储基类接口——IBaseRepository.cs 二.将其他的仓储接口,继 ...
- Java关键字之abstract、final、static用法
abstract:即抽象的,可以修饰类.方法: 修饰类:当有一个方法为抽象方法时,这个类就是抽象类,抽象类不能被new,它是一个不完整的类. 修饰方法:这个方法就是抽象的,即只能方法的定义,没有方法的 ...
- 简单文件传输协议TFTP分析还原
- 协议介绍 TFTP有如下特征: 1.UDP承载,请求端口固定为69: 2.没有列出目录内容功能: 3.无验证和加密机制: 4.仅有读取或写入文件功能: 5.支持三种不同的传输模式:"ne ...
- iOS10跳转至设置页面
在iOS10之前,跳转到系统设置界面的某个指定界面的方式如下: //打开定位服务界面 NSURL*url=[NSURL URLWithString:@"prefs:root=Privacy& ...
- 【Servlet】JavaWeb应用的执行流程
Tomcat与Servlet简介 Tomcat Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache.S ...
- mysql综合性练习
题目描述 设定有一个数据库,里面有4张表: 学生表(student) 课程表(course) 成绩表(score) 教师信息表(teacher) 表结构如下: 表一_学生表(student) 属性名 ...
- Python—实现ssl认证
https://blog.csdn.net/vip97yigang/article/details/84721027 https://www.cnblogs.com/lsdb/p/9397530.ht ...
- 如何将list集合转成String对象
使用Stringutils中的join方法: 方法一: public String listToString(List list, char separator) { return org.apach ...
- to_sql, to_csv, to_excel, to_json
1.to_sql def to_sql(self, name, con, schema=None, if_exists="fail", index=True, index_labe ...
- [C14] 总结(Conclusion)
总结(Conclusion) 总结和致谢(Summary and Thank You) 欢迎来到<机器学习>课的最后一段视频.我们已经一起学习很长一段时间了.在最后这段视频中,我想快速地回 ...