网页照相机——将网页拍照成图片

网页照相机顾名思义,就是输入一个网址,然后这个"照相机"把网址对应的页面内容变成一个图片输出。大家可以测试下我的一个DEMO网址,然后后续我再描述实现的原理。

1、DEMO网址:http://58.22.105.164:7002/jdha-client/capture/index.jsp ,由于是DEMO,还有挺多小BUG,不要拍砖哦:

2、实现基本流程:首先前台WEB将需要拍照的URL传递给后台的拍照服务端,该拍照服务端使用VB编写,它首先使用webbrowser对象打开URL,同时在界面上再放一个picture对象,调用webbrowser的一个方法,将网页的内容变成图片放到pictrue上;最后,就是将picture的内容另存到硬盘,同时将图片内容转换成jpg图片,返回前台web界面。

3、主要代码如下:

Dim tDoc As MSHTML.HTMLDocument
Dim tIV As IViewObject

Dim tRc As RECT

Dim tOw&, tOh&, tSw&, tSh&

tOw = WebBrowser1.Width
tOh = WebBrowser1.Height

Set tDoc = WebBrowser1.Document
Set tIV = tDoc

tDoc.body.Scroll = "no"

tSw = tDoc.body.scrollWidth + 4
tSh = tDoc.body.scrollHeight + 4


Dim tHdl&
tHdl = GetWebHwnd()

MoveWindow tHdl, 0, 0, tSw, tSh, 0

tRc.Right = tSw
tRc.bottom = tSh

Picture1.Cls
Picture1.Move Picture1.Left, Picture1.Top, tSw, tSh

'将网页内容画到picture上
tIV.Draw DVASPECT_CONTENT, 1, ByVal 0, ByVal 0, _
0&, Picture1.hdc, tRc, tRc, ByVal 0, ByVal 0

tDoc.body.Scroll = "yes"
MoveWindow tHdl, 0, 0, tOw, tOh, 1

'将picture对象另存为bmp图片
SavePicture Picture1.image, "C:/ProgramData/capture/web.bmp"

'将bmp图片转换成jpg图片,供页面展现
frmPicConvert.SavePic "C:/ProgramData/capture//web.bmp", "C:/ProgramData/capture//web.jpg", "jpg", 50
Picture1.Cls

4、感兴趣的童鞋们可以联系我。

转载于:https://my.oschina.net/hetiangui/blog/133331

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值