作者drkh (stypikes)
看板EZsoft
标题网页撷图程式 url2bmp
时间Fri Dec 15 19:56:34 2006
url2bmp v1.03 可以一次撷取全幅网页, 包括未显示在浏览器视窗的部份.
它是免费程式, 880K, 不必安装. 只在 c:\windows 产生一个 url2bmp.ini 档案.
程式网页
http://www.pixel-technology.com/freeware/url2bmp/english/index.html
直接下载
http://www.pixel-technology.com/freeware/url2bmp/url2bmp.zip
我研究了一下这个程式, 以下是一些心得.
View size 的意义是: "找一块宽度为 x bits, 长度为 y bits 的记忆体, 提供
给 IE 内核作为网页内容的显示区." Output image 档名栏位下面的大块空白区
域就是网页显示区. x 与 y 二值可随意设定, 可以大於或小於萤幕解析度. 换
句话说, 这个显示区的尺寸不一定等於你在电脑萤幕上见到的 IE 视窗尺寸. 可
以比你的电脑萤幕大, 较小亦可, url2bmp 的作者将这块模拟显示区的记忆体称
为"virtual screen".
这个显示区的右端一定会有一条纵向拉杆(vertical scroll bar). 如果显示区
的宽度比萤幕小, 就会在 url2bmp 的最大化视窗内见到这条纵向拉杆. 即使网
页内容的高度没有超过显示区的高度, 并不需要这条纵向拉杆, 这条拉杆仍然存
在, 只是 grayed-out 罢了. 这一点倒与 IE 相同. 如果显示区的宽度大到右端
超出萤幕之外, 当然就见不到这条拉杆. 但在 url2bmp 产生的网页图档中仍然
会有这条拉杆. 若想从图档中移除这条纵向拉杆, 可勾选 Remove right scroll
bar 选项, 不过须注意一点: Image size 的长与宽二者都必须与 View size 一
致, 也就是说, 不可缩放网页, 否则此选项无效.
同理, 如果网页内容的宽度超出显示区的右端(不一定是萤幕右端, 因为显示区
的宽度可以小於萤幕), 则在显示区底端会出现一条横向拉杆. 如果显示区的底
端没有超出萤幕, 就可以见到这条横向拉杆(如果拉杆靠近萤幕下缘, 可能会被
工作列遮蔽). 反之, 若显示区底端超出了萤幕, 就见不到这条横向拉杆. 但仍
会在网页图档中出现.
因为显示区的宽度系由使用者手动设定. 而不同的显示区宽度会连带影响网页显
示时的高度. 因此, url2bmp 无法预知网页显示完毕後的高度. 显示区的高度究
竟应设为何值, 才能容纳全幅网页的高度? 这就必须使用者自行测试了. 同理,
url2bmp 也无法预知使用者想要的网页宽度, 所以显示区的宽度也由使用者手动
设定.
url2bmp 会将这个显示区的尺寸通知 IE, IE 在 url2bmp 的视窗内开启网页时,
会根据这个尺寸调整网页格式. 例如, 若宽度设得够宽(甚至超出萤幕), 足以容
纳一整行文字, IE 就不必做 wrap. 反之, 若宽度容纳不下整行文字, IE 就会
做 wrap.
注意: 若网页内容超出显示区, 不论从右方或下方超出, 超出的部份 url2bmp
无法撷入图档! 因此, 宁可将显示区的尺寸设得大一些, 让图档包含整幅网页,
也不要将显示区的尺寸设得太小, 而使图档缺了部份网页. 当然, 持续增减
View size 的高度与宽度作测试, 直到显示区右方与下方的拉杆都刚好消失, 便
可获取与网页相同大小的图档.
注意: 显示区的高度会有可能设得比显示全幅网页所需高度还要大. 但除非网页
有类似 width=120% 的语法, 使得网页宽度必然超过显示区, 否则并不会有显示
区宽度比网页还宽的问题. 因为无论显示区多宽或多窄, IE 都会调整网页格式,
将显示区宽度填满.
注意: 若网页有类似 width=120% 的语法时, url2bmp 就无法将整幅网页撷取成
图了! 因为这种语法必然会使网页宽度超出显示区之外, 而超出的部份 url2bmp
无法撷取成图. 这是 url2bmp 的一个缺陷.
Tip: 如果你想让 url2bmp 生成的网页图档宽度与 IE 视窗宽度一致, 那麽,
View size, Image size 以及 IE 视窗三者的宽度均须一致.
Image size 的意义就是"将 View size 尺寸的整个显示区缩放为 Image size
尺寸". 若 Image size 与 View size 相同, 则 url2bmp 生成的图档大小即是
显示区的大小. 特别注意: 这里说的 Image size 是指"显示区"的图档尺寸, 而
非"网页"的图档. 因为显示区的尺寸不一定符合全幅网页. 若显示区比网页小,
url2bmp 生成的显示区图档就会缺少部份网页. 此时即使将图档放大, 被放大的
还是显示区. 缺少的网页也不会补足. 若显示区的高度超出网页所需高度, 以至
於底部留有空白, url2bmp 也会将空白撷入图档. 换句话说, url2bmp 不会侦测
网页的底部在何处. 因此, 必须谨记:"url2bmp 生成的图档是显示区的图档."
Image size 的栏位只能填进整数, 不接受百分比. 因此, 必须自己先决定一个
缩放百分比, 然後再根据这个百分比, 自行算出显示区缩放後的高度与宽度. 而
且, 高度与宽度二者的缩放比例必须一致, 例如, Image size 的长宽均为 View
size 长宽的 113%.
将显示区缩小没有任何问题. 但是将显示区放大却有问题. 观察url2bmp生成的
显示区放大图档, 虽然确实按照比例放大了. 但是只有在左上角"View size"范
围内的区域才能见到正确放大的网页内容. 其余部份, 也就是 View size 区域
的右方与下方, 都是一团混乱.
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 220.138.70.227
1F:推 PcGrek:很详细的分析,推一下 12/15 21:23
2F:推 tonyhome:作者说未来版本会自动侦测网页大小 不用自己设定 12/16 19:54
3F:推 ProGuy:好东西 推一下 12/17 02:18