<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      Java究竟怎么玩?

      天地程序已定棋,人間大數(shù)待變局

        博客園  :: 首頁  :: 新隨筆  :: 聯(lián)系 :: 訂閱 訂閱  :: 管理

      今天看到某網(wǎng)友關(guān)于“如何以Java實現(xiàn)網(wǎng)頁截圖技術(shù)”的咨詢帖,由于出現(xiàn)該咨詢的地點非常不適合較長回復(fù),故以博文形式回答。

       

      事實上,如果您想以Java實現(xiàn)網(wǎng)頁截圖,也就是“輸入一段網(wǎng)址,幾秒鐘過后就能截取一張網(wǎng)頁縮略圖”的效果。那么,您至少有3種方式可以選擇。

       

      1、最直接的方式——使用Robot

       

      方法詳解:該方法利用Robat提供的強(qiáng)大桌面操作能力,硬性調(diào)用瀏覽器打開指定網(wǎng)頁,并將網(wǎng)頁信息保存到本地。

       

      優(yōu)勢:簡單易用,不需要任何第三方插件。

       

      缺點:不能同時處理大量數(shù)據(jù),技術(shù)含量過低,屬于應(yīng)急型技巧。

       

      實現(xiàn)方法:使用如下代碼即可。

       

       

      2、最常規(guī)的方式——利用JNI,調(diào)用第三方C/C++組件

       

      方法詳解:目前來講,Java領(lǐng)域?qū)τ诰W(wǎng)頁截圖組件的開發(fā)明顯不足(商機(jī)?),當(dāng)您需要完成此種操作時,算得上碰到了Java的軟肋。但是,眾所周知Java也擁有強(qiáng)大的JNI能力,可以輕易將C/C++開發(fā)的同類組件引為己用。

      優(yōu)勢:實現(xiàn)簡單,只需要封裝對應(yīng)的DLL文件,就可以讓Java實現(xiàn)同類功能。

       

      劣勢:同其他JNI實現(xiàn)一樣,在跨平臺時存在隱患,而且您的程序?qū)⒉辉賹儆诩僇ava應(yīng)用。

       

      實現(xiàn)方法:可參見此用例,具體封裝何種C/C++組件請自行選擇。

       

      PS:示例來源于ACA HTML to Image Converter項目(http://www.acasystems.com/en/web-thumb-activex/faq-convert-html-to-image-in-java.htm ),這是一個收費的HTML轉(zhuǎn)Image第三方組件,但封裝方式在Java中大同小異。

       

      引用JNI封裝:

       

       

      CPP部分的實現(xiàn):

       

       

      以該組件圖像化yahoo界面的效果圖:

       

      00


      3、最扎實的方法——自行解析HTML標(biāo)記,并將其圖像化

       

      方法詳解:眾所周知,HTML之所以在瀏覽器中以具體的網(wǎng)頁格式出現(xiàn),并非服務(wù)器端傳了一整個應(yīng)用到客戶端,而是源自于瀏覽器對于客戶端自行解析的結(jié)果。因此,只要我們將對應(yīng)的解析一一實現(xiàn),那么將網(wǎng)頁圖形化,就將不是什么難事。


      優(yōu)勢:純Java實現(xiàn),一勞永逸,一旦開發(fā)完成則永遠(yuǎn)通用,而且有一定的商用價值。

       

      劣勢:開發(fā)費時,且需要針對不同語法做精確分析,才能保證輸出的基本正確。尤其在涉及到JavaScript解析時,難度將尤其增大。

       

      實現(xiàn)方法:目前尚無具體案例可供參考。但是,由于Java有jdic之類的瀏覽器項目存在(https://jdic.dev.java.net/ ),而Java圖形界面又屬繪制生成。從理論上說,我們可以將所有具備Graphics的組件圖形化保存。

       

      而如果自行解析,那么您需要建立HTML解析器(或使用第三方的,萬幸Java在這方面的組件很多),了解Java2D機(jī)制,了解何時該使用drawString繪制文字,何時又該使用drawImage插入圖片等等。

       


      補充:

       

      這是一個利用內(nèi)置瀏覽器截圖的示例,使用了DJNativeSwing組件。

       

      示例工程下載地址(Eclipse工程,含lib):http://greenvm.googlecode.com/files/Screenshot.7z

       

       

       

       

      posted on 2010-03-06 23:40  cping  閱讀(554)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 福利视频在线一区二区| 亚洲欧美综合中文| 精品精品久久宅男的天堂| 亚洲av免费成人在线| 一区二区三区无码高清视频| 精品日本乱一区二区三区| 99久久精品国产一区二区蜜芽| 一本色道久久综合无码人妻 | 久久精品国产熟女亚洲av| 久久99精品久久久久久9| 欧美综合自拍亚洲综合图| 中文字幕久久人妻熟人妻| 国产福利深夜在线播放| 精品久久久久久久久午夜福利| 久久爱在线视频在线观看| 国产精品免费中文字幕| 溆浦县| 亚洲一区二区三区啪啪| 国产仑乱无码内谢| 乳山市| 亚洲人成网站观看在线观看| 国产精品亚洲一区二区三区喷水| 奇米四色7777中文字幕| 亚洲av免费成人精品区| 亚洲精品国模一区二区| 99RE8这里有精品热视频| 人人人澡人人肉久久精品| 国产精品爱久久久久久久| 精品亚洲精品日韩精品| 91福利国产午夜亚洲精品| 欧美国产日韩在线三区| 一区二区在线观看 激情| 中文字幕日韩有码av| 高安市| 老司机午夜福利视频| 女人被爽到高潮视频免费国产| 成人国产精品日本在线观看| 国产精品综合在线免费看| 中文字幕热久久久久久久| 亚洲精品国产第一区二区| 国产在线欧美日韩精品一区|