说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

C#实现生成网站快照缩略图片

HTML文档下载 WORD文档下载 PDF文档下载
C#利用WebBrowser控件实现生成网站快照缩略图片

下载源代码

我总是在想如何把我的博客网页生成缩略图快照。昨天我有一些空闲时间来思考如何在C#中完成。我用WebBrowser控件实现了这个功能,下面是我的实现方法。


我创建了四个区域,一个是WebBrowser控件,另外三个是Bitmap对象分别对应3中不同尺寸的缩略图。使用这三个位图对象其实是没有必要的,我们可以只用一个对象显示三种不同的尺寸,但它使我保存按钮的代码减少了一些。在构造函数中初始化WebBrowser控件的大小为800*600,这是绝大多数网站最小的可见尺寸,我也去掉了滚动条和初始化DocumentCompleted事件委托。

private WebBrowser wb = new WebBrowser();  private Bitmap screenshot300x225;  private Bitmap screenshot200x150;  private Bitmap screenshot100x75;    public MainForm()  {      InitializeComponent();        wb.Height = 600;      wb.Width = 800;      wb.ScrollBarsEnabled = false;      wb.DocumentCompleted += new          WebBrowserDocumentCompletedEventHandler(wb_DocumentCompleted);  }  

WebBrowser的DocumentCompleted事件处理中可以生成截图快照,这是唯一可以调用DrawToBitmap方法的地方。DrawToBitmap是从WebBrowserBase对象继承的方法,MSDN上说“该API支持.NET Framework基础结构,但不适合直接在代码中使用”,所以它不在IntelliSense中可见。它有两个参数,第一个是存储截图的位图对象,第二个Rectangle对象定义了截图的范围。三个位图对象初始化并显示在PictureBox控件中。

 

void wb_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)  {      Bitmap bmp = new Bitmap(800, 600);        wb.DrawToBitmap(bmp,          new Rectangle(wb.Location.X, wb.Location.Y, wb.Width, wb.Height));        screenshot100x75 = new Bitmap(bmp, 100, 75);      screenshot200x150 = new Bitmap(bmp, 200, 150);      screenshot300x225 = new Bitmap(bmp, 300, 250);        smallPictureBox.Image = screenshot100x75;      mediumPictureBox.Image = screenshot200x150;      largePictureBox.Image = screenshot300x225;        this.Cursor = Cursors.Default;  }    private void captureButton_Click(object sender, EventArgs e)  {      this.Cursor = Cursors.WaitCursor;        wb.Navigate(urlTextBox.Text);  }    private void saveSmallButton_Click(object sender, EventArgs e)  {      if (screenshot100x75 != null)      {          if (saveFileDialog1.ShowDialog(this) == DialogResult.OK)              screenshot100x75.Save(saveFileDialog1.FileName);      }  }    private void saveMediumButton_Click(object sender, EventArgs e)  {      if (screenshot200x150 != null)      {          if (saveFileDialog1.ShowDialog(this) == DialogResult.OK)              screenshot200x150.Save(saveFileDialog1.FileName);      }  }    private void saveLargeButton_Click(object sender, EventArgs e)  {      if (screenshot300x225 != null)      {          if (saveFileDialog1.ShowDialog(this) == DialogResult.OK)              screenshot300x225.Save(saveFileDialog1.FileName);      }  }  

 

 

 

Ajax-JQuery API $.ajax(properties)-JQuery API $.ajaxSetup(settings)-JQuery API $.ajaxTimeout(time)-JQuery API $.get(url, params, callback)-JQuery API $.getIfModified(url, params, callback)-JQuery API $.getJSON(url, params, callback)-JQuery API $.getScript(url, callback)-JQuery API $.post(url, params, callback)-JQuery API ajaxComplete(callback)-JQuery API ajaxError(callback)-JQuery API ajaxSend(callback)-JQuery API ajaxStart(callback)-JQuery API ajaxStop(callback)-JQuery API ajaxSuccess(callback)-JQuery API load(url, params, callback)-JQuery API loadIfModified(url, params, callback)-JQuery API serialize()-JQuery API Accordion(settings)-JQuery API activate(index)-JQuery API button(hash)-JQuery API center()-JQuery API $.cookie(name)-JQuery API $.cookie(name, value, options)-JQuery API height()-JQuery API innerHeight()-JQuery API innerWidth()-JQuery API offset()-JQuery API outerHeight()-JQuery API outerWidth()-JQuery API scrollLeft()-JQuery API 用JSP条件来触发Javascript弹出一个小窗口怎么做? 难道要给32个参数? PB 连接 SQL SERVER 2000 问题(多用户无响应!!) 关于Pointer类型数据和自定义的数据类型(Record),TList的保存问题。 请问哪里有《WRITING WINDOWS VXD AND DEVICE DRIVER》下载,中英文皆可,作者KAREN HAZZAH 还是#pragma的问题请教高手 用鼠标选定图形应该怎么做? !!!超长数字,大家猜猜,欢迎灌水!!!! 关于localhost不能直接连接的问题 请问一个很简单的问题,做了一个查询功能,如果没有查到记录,怎样做才能提示:没有满足条件的记录!的这样的信息呢?很菜的问题! 如何在浏览器客户端上载一个文件,传送到SERVER数据库? 关于求余和with语句 各位各位,小弟有新发现哦,爽。 我想学GIS (dos高手的挑战!!!)如何在dos下对声卡编程选通CD-IN通道,实现CD播放 jdbc连接oracle8i的问题?急。 如何用<logic:iterate>与<html:radio>配合将<logic:iterate>的列出多项列表项,从中选定一项,并对该项进行操作?如何联系?谢谢!急用! 哪有jbuilder中文版文档 请问怎样将整个屏幕拷贝到一个Image对象? 如何在vbscript中获取javascript取得的下拉菜单所选择的值?(急,在线等) 在聊天室中服务器的socket怎么和多个客户端的socket建立连接? 如何在Post以后保存Post之前的值 史上最恐怖的10个鬼故事!!! j2ee中的EAR 和war是怎么生成的,具体用什么工具,怎么生成的 紧急降落求救(在线等待)…………谁能告诉这个水晶报表的问题04, 图形如何和数据库关联? 积分运算? 急!!! 怎样在RowFilter中用函数表达式, 如SubString, ToString等? VB中的WINSOCK在哪里?我打开VB找了半天没找到这个控件,真衰 请教.... 能否在autoexec.bat的内容里: path ......... 加上 ;c:\windows \.....之类的? tomcat 4 中配置JDBCRealm的问题。急啊!! mysql怎么用money类型的数据? 会用FileGateway的进来 服务器配置(jdk1.3+tomcat或jswdk) 关于dreamweaver mx的font preference设置 redhat9.0的安装问题 如何获取文件上传者的IP地址?(马上给分)万分感激,在线等待. 各位大侠帮帮忙!急!!!有高分! 如何删除用户控件 请问我将汉字写入一个HTML文件,但显示出来是乱码..有没有解决办法 请教各位前辈,继续提问关于《Visual basic 与RSC232/485串行通信》的问题 高分求救---如何把wma文件转成mp3文件 200分求购自动动生成的缩略图的代码???不够有分加 struts中的分页问题? 在delphi如何中为web中的数据与程序通信... 按web页查看时出的问题!!请高手帮助 一天一小问,请教请教,今天问连接数据库问题! 郁闷中,哪们大哥帮帮我! 正式接到SCJD Assignment, 进入努力状态中. :) 我用的是2000系统,最近老是弹出信使服务的窗口 ,怎么样才能拒绝这样的消息? help me! 有几道题不会做1.“人说山西好地方,地肥水美醋更香”是由电影《我们村里的年青人》的插曲中的哪两句歌词改编而来的?2.用成语对下联 望梅止渴-( ) 趁火打劫-( ) 有下列五个命题,其中正确的是 ①{x|x2+4x-5=0}表示二次方程x2+4x-5=0的解集字有些草 请见谅 在三角形ABC中,顶点A,B和内心坐标分别为A(9,1)B(3.4)I(4,1),求C点坐标.除了设C(x,y),列距离相等方程还有其他方法么? 空的那一题不会,help me! 因式分解(1)a^5b-16ab^5 (2)x²-y²+4y-4 已知△ABC的三个顶点A(4,0),B(8,10),C(0,6)求过B点且与A,C距离相等的直线方程 如果,12这个数是100%的话,那么8是 12的 百分之几?我都快想吐出来了... 证明命题:“存在一个实数x,使得x2-4x+5<=0”为假命题 2006*20052006-2005*20062005的简便计算过程 help me, 急::>__ f(x)=1/3*x^3-a/2*x^2+(2-b)x-2,a,b∈R,已知f(x)在区间(1,2)内存在两个极值点,求证:0 分解因式:x²-y²-4x+6y-5 谁有因成绩子女与父母发生隔阂的作文 设x=1,x=2是f(x)=ax³+bx²+6x+1的两个极值点.求(1)a,b (2)求f(x)的单调区间设x=1,x=2是f(x)=ax³+bx²+6x+1的两个极值点.求(1)a,b(2)求f(x)的单调区间 这是一道数学他题拜托了,某商品原价为一百元,经两次连续降价后售价为八十一元,求该商品每次,降价的百分...这是一道数学他题拜托了,某商品原价为一百元,经两次连续降价后售价为八十一 黄河颂 主旨课文黄河颂的主旨 求抛物线y=-1/2x^2-x+3/2顶点坐标与对称轴,当x取何值时,y随x的增大而增大?,当x取何值时,y随x的减小而减小? 刚刚商品那题为什么原价是降价百分之20-原价 就等于要上涨的 y=-x^2+2x+3 当x取什么值时y随x的增大而减小 2005+2006乘20052005减2005乘20062006加1得几多?一定要下过程啊! 请问什么是“休谟问题”? 谁有子女与父母发生隔阂的作文 2005乘20062006减2006乘20052005等于多少? 休谟问题是什么?RT 抛物线Y=A[X+2]的平方-1交x轴ab两点a在b的左边且ab=2求抛物线解析式急, 已知两点A(-8,0),B(2,0),以AB为直径的半圆与y轴正半轴交于点C.求经过A、B、C三点的抛物线的解析 英语一致关系习题求解!1.I don't swim now,but I__when I was a kid.A.used to it B.used to doing it C.used to D.used to do 答案为什么选C而不能是D?2.It is reported that__adopted children want to kow who their naturai parents are.A.the 已知抛物线的顶点是从(1,16)且与x轴交于A/B两点(A在B的左边)若AB=8,求该抛物线的解析式 如图,抛物线的图象经过A(-1,0)、B(4,0)、C三点,点C在Y轴的正版轴上,且AB=OC.(1)求点C的坐标(2)求这个抛物线的解析式及此二次函数的最大值. 1.The growth of part-time and flexible working patterns,and of training and retraining schemes,__more women to take advantage of employment opportunities.A.have allowed B.allow C.allowing D.allows 为什么谓语动词要用单数? 已知弧长3557mm 高为1160mm 弦长2300mm 求弧形面积.公式也给我 1.计算:∫上限1下限0 x(根号(1-x^2) dx 2.∫上线pi/2下线0 cosx^3sinx dX 在有地暖的房子里吊顶~工人打眼只打到3厘米的时候感觉电钻桄了一下,从房顶上流出一些水~现在房顶眼总深度是4.5厘米,我们小区的装修手册上要求安装吊顶打眼不能超过5厘米,现在情况看来 弧形面积!弦长1464mm弦高290mm. 已知抛物线y=x²+bx+c经过点(2,-1)和(4,3) 求这个抛物线的解析式 小王和小李两人在400米的环形跑道上跑步,两人同时同地朝相反方向跑,他们第三次和第四次相遇间隔50秒,现知道小王每秒钟比小李快4米.求小王和小李的速度~ 已知弧长为1478.12mm,高为180mm,弦长1417.96,求弧形的面积! 21题,学霸help help谢谢 高中人教版英语基础知识总结,help me! 三颗纽扣的房子告诉了人们什么道理 一道数字推理题~Help!4,3,8,6,12,12,(),()后面两个空填什么啊?答案是16,24,可是我怎么也找不出规律,Thans very much!我没有分,但是我有一颗真挚的心♡♡♡♡♡♡♡♡b 头盔的英文是什么?help 四年级上册中文章三颗纽扣的房子的问题(四年级的回答)看来问题不在于小房子,而在于心 这句话是怎样理解的 我会用数学那题,请学霸help me 求不积分:!)∫[e^(2x)-1]/(e^x+1) dx 2)∫(1+x+x^2)/x(1+x^2) dx3)∫(tanx+cotx)^2 dx 4)∫[1/(sinx)^2.(cosx)^2] dx 美国动漫讲述了一个小女孩在屋子里发现了一个小门然后钻进去了来到一个布偶世界 还有女巫那扣子缝眼睛美国动漫讲述了一个小女孩在屋子里发现了一个小门然后钻进去了来到一个布偶世 二次函数y=ax^2+bx+c 的图像与X轴的负半轴相交于点A,与X轴的正半轴相交于点B,与T轴交于点C,C点的坐标为(0,-3),且BO=CO, 请问:休谟关于“事实推不出价值”的原理是怎样论证的? 若命题p交q为真,-p为真,则 欢乐斗地主 200倍场倍数的问题想问下,为什么,同样的倍数,别人赢我是20万,我赢别人却只10万,还有个就是,有些人怎么要牌之后还可以明牌啊,那是怎么搞的啊 如果二次函数y=mx2+(m-3)x+1的图像与X轴的交点至少有一个在原点的右侧,试求m的取值范围 请问休谟认为简单观念与复杂观念有什么区别啊?能不能各举个例子说明一下啊? 一个 巨难 的英语句子结构的分析---务必高手帮忙(1)“Most of the infections(感染)we think of as human infections started in other animals,” says Stephen Morse, director of the Center for Public Health Preparedness at Col 6分之8怎么在数轴上表示?12分之15怎么在数轴上表示?15分之20怎么在数轴上表示?6分之10怎么在数轴上表示?9分之12怎么在数轴上表示? 休谟在《道德原理研究》中时怎么解释正义的? 我现在是初一,这题不会做,大家帮帮忙 所以我不会 什么叫我去找之类的 不必了 【因式分解】x(x+y)(x-y)-x(x+y)²进行分解因式因式分解我实在不熟 请无论如何把这道题的过程写的仔细点行吗? 三角形ABC中,顶点A(9,1) B(3,4) 内心D(4,1),则顶点C的坐标什么? 智利前女总统有望“二进宫”调查总结女性二十“怕”湖南官员为儿办酒宴被免 仍作为普通公美国政府保证“目前及以后”不监控联合四川盘江大桥垮塌事故存违规问题 7名成都环保局:重污染天气限行 公车无特四川盘江大桥垮塌事故:已有13名责任美国福特号航母电磁弹射器真容【高清组英皇室全家福照片惨遭恶搞 小乔治露坏美情报高官供出欧洲“队友”美元对主要货币汇率30日上涨中国网事:中欧深化经贸合作助力全球经温州5岁男孩遭持刀砍伤 鼻子被削去1视频:骗子长得像金城武 3姑娘甘心为多名俄罗斯高官因瞒报收入被免职王毅:要在叙国内、地区、国际三个层面纽约金价30日上涨潘基文谴责以色列定居点计划富阳推进“刷卡排污” 刷完额度将被禁美国再发灭门惨案 狂徒强杀前女友一家女子轻生欲从21楼跳下 坠楼瞬间被派世界母乳周:河北省胸科医院举办辣妈宝张家口民众庆祝京张申冬奥会成功【高清被拐卖的郜艳敏做烈女你才满意?化腐朽为神奇:从一块泥巴到一方澄砚统计局:7月中国非制造业商务活动指数美国将希拉里数十封个人电邮列为“机密统计局:7月中国制造业采购经理指数为飞机残骸被运往法国鉴定 或耗时数日危地马拉发生5.1级地震 暂无人员伤韦德晒孩时梦想:以伟大球员的身份从N蓝月不蓝 台北晚间看得到(图)台湾地区出口疲软 宏碁创办人施振荣:传宋楚瑜8.6宣布参选2016 洪秀留尼汪岛飞机残骸8月5日进行司法鉴定原标题:比索持续贬值 墨西哥央行抛售释永信心中的少林寺何时才能出现安倍是否出席中国阅兵和美国无关广州市长率2千人横渡珠江 有人抓到鱼英国准予艾未未6个月商务签证河北、贵州省委主要负责同志职务调整洪秀柱回应宋楚瑜竞选2016:能怎么
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘