如何将现成的网页转换成一幅图像?(100分)

  • 主题发起人 主题发起人 eprog
  • 开始时间 开始时间
E

eprog

Unregistered / Unconfirmed
GUEST, unregistred user!
现在有一些现成的网页,请问通过程序怎样才能将这些网页的内容(包括文字和图片)转换成一幅
图像(例如JPG,格式可以另外转换)。更进一步,如果那些网页在IE里面就要拉滚动条才能全部
看完,那又怎么办?不要告诉我用人手截屏,呵呵。
想请教大家怎么实现这个做法的思路?
 
我也想知道:)
 
我已前做过类似的程序,方法是,用自己做个简单浏览器(控件方式)使其下拉(程序方式)逐行扫描就可以啦!
 
叫我编程的,我可写不来,不过嘛不知道你是什么用意,
如果把一个页面单独存成一个文件MHT格式行不行,
也是包含有图片文字。另存为-类型-*.mht,就是一个文件了。
如果真是要图片格式的,我看也是只有抓屏再用接起来。?
 
给你一个详细的源码:
procedure TForm1.Button1Click(Sender: TObject);
var
ViewObject: IViewObject;
sourceDrawRect: TRect;
begin
if Webbrowser1.Document <> nil then
try
webbrowser1.Document.QueryInterface(IViewObject, ViewObject);
if ViewObject <> nil then
try
sourceDrawRect := Rect(0, 0, Image1.Width, Image1.Height);
ViewObject.Draw(DVASPECT_CONTENT, 1, nil, nil, Self.Handle,
image1.Canvas.Handle, @sourceDrawRect, nil, nil, 0);
finally
ViewObject._Release;
end;
except
end;
end;
 
首先非常感谢kthy,你的程序我有两点不明白,因为我不懂COM编程。
1。IViewObject是什么?我编译的时候得到出错信息Undeclared identifier。我估计应该是
没有把某个unit引用进来,可是我查帮助也查不到IViewObject。
2。Image1是什么?我估计是不是生成的图片?
如果可以的话,能否把你的整个源程序发给我,eprog@21cn.com。非常感谢!!
 
1.IViewObject 是一个接口,你可能要包含comobj等单元
2.image1 是TImage控件呀

另:如果有完整的程序也麻烦给我发一份
谢谢
 
IViewObject 是一个接口,要包含ActiveX单元即可
image1 是TImage控件
如果那些网页在IE里面就要拉滚动条才能全部看完,有些麻烦!
 
windows本身有个缩略图控件,你在explorer中就可以看见的。
菜单-》查看-》缩略图
 
xusong168,我可是要能在程序面实现转换阿,windows有这个控件我怎么用?要是用人手
的话,我也知道不少截屏软件能做得很好。
微程,你说的方法应该也是一个办法,能否给出一些代码?

谢谢各位!
 
当然是编程了,那是一个ocx控件,你用dephi import一下就行了呀
 
但是如果我的网页要拉动滚动条才能看完,那个ocx控件行吗?好像在windows里面没看过
她能完成这样的任务?
还有,能给出一点代码吗?
 
InprocServer32=C:/windows/SYSTEM/WEBVW.DLL
progID=ThumbCtl.ThumbCtl.2
CLSID={71650000-E8A8-11d2-9652-00C04FC30871}
主要方法Thumbnail.displayFile(item.Path)

下面程序还有问题,结果不正确,你先参考一下吧。
procedure TForm1.Button1Click(Sender: TObject);
begin
ThumbCtl1.displayFile('c:/sample.htm');
end;

procedure TForm1.ThumbCtl1ThumbnailReady(Sender: TObject);
var
Bmp1:TBitmap;
begin
Bmp1:=TBitmap.create;
Bmp1.Width:=ThumbCtl1.width;
Bmp1.Height:=ThumbCtl1.Height;
ThumbCtl1.PaintTo(Bmp1.Canvas,0,0);
Bmp1.SaveToFile('c:/temp.bmp');
end;
 
安装Acrobat 5.0,不是Reader.就可以直接把web页打印成pdf.然后随你转成什么图像格式。
 
我不可能要求用户安装什么软件,而且要求一定要在我自己的软件中完成网页到图像的
转换,所以这样才比较烦。其实如果用人手操作,HyperSnap就能完成任务。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
2K
DelphiTeacher的专栏
D
后退
顶部