《電子技術應用》
您所在的位置:首頁 > 其他 > 業界動態 > “中國眼”全功能看圖軟件

“中國眼”全功能看圖軟件

J2SE在桌面系統的應用
2009-01-08
作者:張穎

1. 引言?

??? JAVA是開發服務器,個人應用,移動設備的極好的技術。因為跨平臺的需要使得JAVA在服務器和移動設備方面非常成功。現在雖然在個人電腦方面還不是很令人滿意,但JAVA正在以比你想像還快的速度改進著。在這篇論文中,我將分析JAVA將怎樣改變現在的桌面世界,然后展示用標準J2SE構建的全功能看圖軟件。

.桌面系統和JAVA?

??? 現在主流的桌面平臺是:Windows,Mac和Linux。它們都不是完美的。Windows統治著桌面市場,有著大量的應用軟件和開發者,但很多要花錢,并且存在安全漏洞;Linux有著安全基礎,并且是開源的,但沒有Windows用起來那么順手;Mac非常好用,也不是像Windows那樣成為黑客攻擊的對象,但其硬件、軟件的選擇比Windows和Linux要受限制的多。公司和個人選擇操作系統是要考慮很多因素的:盡量低的價格,盡量高的安全性占第一位,這讓很多人轉向了Linux(比如中國的軍用平臺就只能用Linux)。友好的使用環境,大量的應用軟件使得Windows仍然占用很大的市場份額。Mac有著忠實的用戶。日益健壯的Linux市場,還有Mac的中興使得它們都大力運用JAVA技術,以便成為更加重要得桌面系統。

.跨平臺支持?

??? JAVA能在所以相關平臺上運行,如果哪個組織想不改變軟件的現有代碼就能跨平臺使用,那么JAVA就是最好得桌面開發平臺。也許用Microsoft得可視化開發工具創建.NET程序很輕松,但這會使你局限于Windows平臺。如果你用JAVA開發應用程序,你不會因為代碼重構引起麻煩。JAVA的GUI能夠在各種平臺上看起來一樣,也能根據需要模擬平臺樣式。JAVA的安全性也是有目共睹的,這省去了不少后期維護工作。Sun公司桌面系統的推出,JDK1.5的升級,這給了廣大的JAVA開發者一個很好的機遇和挑戰。隨著JAVA技術的不斷成熟和多種IDE軟件的出現,開發出的JAVA應用軟件會更友好,開發周期也會更短,維護也更為方便。

.成功典范?

????Borland公司的JBuilder開發環境;NetBean組織的NetBean,以及IBM公司的Ecllipse。這些都是大型的桌面開發軟件,還有很多跟廣大計算機用戶密切相關的軟件,如永中Office,JFtp,Robocode,JLGui等等。

2. 實例分析?

.項目描述?

???“中國眼” 是北信JAVA實驗室用純JAVA語言寫成的、成功的看圖軟件。它運用了JAVA天然的跨平臺特性;融合了XML,多線程,css,javascript等多種技術;支持BMP,XMP,JPG,JPEG,GIF,PNG,PCX。并且有很強的安全性和穩健性。軟件只有400多K,很方便在網上傳輸。運行環境為J2SE1.4以上。軟件已經在Windows 98,2000,XP,2003,Linux RedHat9 通過了測試。

??? 它具有看圖,圖片處理,格式轉換,文件管理等多種功能。能幻燈片放映,圖像渲染(柔化,銳化,亮化,暗化,浮雕化等),以極快速度縮放,重命名,屏幕取色,圖像翻轉,圖像裁剪,創建"我的相冊簿",全屏看圖,支持鼠標拖拽裝入圖片。

?? 說到圖像處理,也許有人會想到用JAI(Java Advanced Imaging),但這會使得那些沒有安裝這個包的人很被動,而且這個包處于β版,性能不穩定,所以在該軟件中沒有用JAI。

?? “中國眼”的圖像處理速度,它的小巧,它的強大功能會給用戶留下深刻映象。并且它是免費的。

圖一:“中國眼”的系統層次

??? 對于Swing主件的繪圖設置,最好用paintComponent,這樣能夠用缺省的雙緩沖機制。

圖二:“中國眼”的圖形顯示

??? 看圖軟件要是沒有幻燈片放映會很遜色的,而JAVA幻燈片放映的實現是離不開線程的,不過線程的開始停止用那些supend,或者是stop 是不安全的,所以在run里面用循環變量來控制是比較好的選擇,下面是SlideShow:

public class slideshow extends Thread{?

public void run(){?? ??

while(slideshowbegin==true)

?????????? try{ cycleloadImage(KeyEvent.VK_SPACE);

??????????? ??????? if(slideshowbegin==false) break;

??? ??????????????? Thread.sleep(2000);//停止2000ms}

??????????? catch(InterruptedException e) {System.out.println(e.toString());}

}}

??? 對圖像文件的處理少不了要存儲一些圖像信息,比如說你要創建個人相冊簿,那么少不了對圖像發生年代、背景的記述。Java于XML的結合使得這樣的這變得很容易處理。

public static Document createDomDocument(String imagepath,String description)

{?? Document doc=parseXmlFile()

Element element; //加入根節點元素

if(doc.hasChildNodes()){element=doc.ge tDocumentElement();}

else{

element = doc.createElement("Description");

doc.appendChild(element);

Comment comment = doc.createComment("以下是各個圖像的描述信息");

//對元素節點插入comment

doc.insertBefore(comment, element);

}

String xpath = "http://*[@path='"+imagepath+"']";

try{? // 得到匹配的元素

NodeList nodelist = org.apache.xpath.XPathAPI.selectNodeList(doc, xpath);

//處理節點表中的元素

if(nodelist.getLength()!=0)element.removeChild((Element)nodelist.item(0));

}

catch(javax.xml.transform.TransformerExceptione){System.out.println(e.toString());}

Element imageinfo=doc.createElement("ImageInfo");//創建元素節點

element.appendChild(imageinfo);

imageinfo.setAttribute("path",imagepath);//設置元素屬性,用圖像路徑來表示

imageinfo.appendChild(doc.createTextNode(description));

return doc;

}

sun.awt.shell.ShellFolder sf= sun.awt.shell.ShellFolder.getShellFolder(file);

ImageIcon icon= new ImageIcon(sf.getIcon(true), sf.getFolderType());

得到文件的系統圖標,這樣就不會使人們在不同平臺下使用本軟件時感到陌生,這也是Java L&F的最好表達。

圖三:圖形的通用界面????????????????????? 圖四:圖形的柔化

??? 對應每種圖像處理建立不同的處理類,都放在ImageProcess包下。圖形的柔化處理用了JAVA內建的卷積類:

//一個圖像柔化就是把每一個象素和它周圍的8個象素平均

float weight = 1.0f/9.0f;

float[] elements = new float[9];

for (int i = 0; i < 9; i++)elements[i] = weight;

Kernel kernel = new Kernel(3, 3,elements);

BufferedImageOp op = new ConvolveOp(kernel);

3.總結和展望?

JAVA初衷是為在瀏覽器上運行APPLET而創建的網絡技術,但它通用有能力在桌面系統運行的非常好,就那“中國眼”看圖軟件來說,經過測試,縮放同樣的圖像,花費的時間比ACDSee,以及IrfanView快的多,穩定性好。不要忘了它還有最大的優勢就是跨平臺的。這也是“Write Once, Run Anywhere”的最好應證。

參考文獻

[1] java.sun.com

[2] http://www.onjava.com/pub/a/onjava

[3] http://community.java.net/javadesktop

[4] http://www-106.ibm.com/developerworks/java/

[5] Philip Brow? www.bolthole.com? n

[6] Matthias ?www.burgsoft.de

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
亚洲天堂男人| 亚洲精品欧洲| 久久久无码精品亚洲日韩按摩| 亚洲美女av网站| 亚洲图片欧洲图片日韩av| 狠狠色伊人亚洲综合网站色| 欧美大秀在线观看| 久久久久9999亚洲精品| 这里是久久伊人| 日韩亚洲综合在线| 亚洲精品看片| 亚洲人成小说网站色在线 | 亚洲电影在线| 亚洲第一主播视频| 亚洲福利视频二区| 亚洲第一视频| 亚洲国产精品久久久久婷婷老年| 亚洲大胆视频| 91久久在线| 亚洲美女网站| 亚洲免费观看在线观看| 亚洲精品中文字| 99在线|亚洲一区二区| 日韩午夜免费| 在线综合亚洲欧美在线视频| 一区二区三区黄色| 亚洲色图在线视频| 亚洲自拍三区| 久久精品国产欧美激情| 亚洲国产美女精品久久久久∴| 亚洲福利久久| 亚洲免费观看在线视频| 夜夜嗨av一区二区三区| 亚洲午夜精品久久| 欧美永久精品| 久久久一区二区三区| 久久综合色一综合色88| 欧美国产日韩一区| 欧美日韩一视频区二区| 国产精品免费一区二区三区观看| 国产精品丝袜久久久久久app| 国产亚洲一级| 亚洲缚视频在线观看| 亚洲精品在线观看免费| 亚洲小说欧美另类社区| 欧美亚洲日本国产| 亚洲日本中文字幕| 亚洲网站在线观看| 久久精品一区二区三区不卡牛牛| 老色批av在线精品| 欧美日韩高清区| 国产精品综合视频| 尤物九九久久国产精品的特点| 亚洲精品激情| 午夜精品亚洲一区二区三区嫩草| 亚洲国产精品视频| 一区二区三区免费在线观看| 久久国产精品黑丝| 欧美精品久久久久久久久久| 国产啪精品视频| 亚洲欧洲在线看| 亚洲欧美国产77777| 亚洲国产日韩一区二区| 亚洲综合丁香| 男女av一区三区二区色多| 国产精品第三页| 激情另类综合| 亚洲图片欧美一区| 亚洲欧洲在线一区| 亚洲欧美综合另类中字| 欧美成人嫩草网站| 国产精品日产欧美久久久久| 亚洲国产cao| 香港久久久电影| 9l国产精品久久久久麻豆| 久久精品三级| 欧美揉bbbbb揉bbbbb| 激情校园亚洲| 亚洲一级免费视频| 日韩视频一区二区在线观看 | 久久精品国产96久久久香蕉| 欧美日本免费| 曰本成人黄色| 亚洲女性裸体视频| 一区二区三区久久精品| 另类国产ts人妖高潮视频| 国产精品久久久久国产精品日日 | 国产精品露脸自拍| 91久久久亚洲精品| 欧美一区二区三区视频在线 | 亚洲精品少妇网址| 欧美一区二区三区四区在线观看地址| 欧美好吊妞视频| 国产亚洲精品一区二区| 99精品热视频| 亚洲伦理一区| 葵司免费一区二区三区四区五区| 国产麻豆视频精品| 中国日韩欧美久久久久久久久| 亚洲国产激情| 久久精选视频| 国产欧美日韩综合一区在线播放| 夜夜夜久久久| 欧美怡红院视频| 性色av一区二区三区红粉影视| 欧美日韩国产一区精品一区 | 亚洲欧洲视频| 亚洲国产成人午夜在线一区 | 欧美日韩一区二区视频在线| 最近中文字幕日韩精品 | 99综合在线| 欧美激情一区二区三区在线| 在线不卡免费欧美| 久久成人在线| 久久国产精品久久久久久电车| 国产精品久久一区主播| 一区二区三区导航| 一区二区免费看| 欧美久色视频| 亚洲精品视频一区| 一本久道综合久久精品| 欧美精品综合| 日韩视频中文字幕| 亚洲视频免费| 国产精品户外野外| 一区二区三区欧美在线观看| 亚洲一区免费| 国产精品亚洲综合| 午夜日韩av| 久久精品国产成人| 合欧美一区二区三区| 亚洲高清免费在线| 免费视频一区| 亚洲激情综合| 正在播放欧美一区| 欧美午夜电影网| 国产精品99久久久久久有的能看| 亚洲欧美日韩人成在线播放| 国产精品入口尤物| 亚洲欧美久久久| 久久久久久欧美| 一区二区视频免费在线观看| 亚洲黄页一区| 欧美黄色网络| 一区二区不卡在线视频 午夜欧美不卡在| 亚洲性xxxx| 国产视频在线观看一区二区| 久久精品91久久久久久再现| 欧美凹凸一区二区三区视频| 亚洲美女诱惑| 香蕉久久久久久久av网站| 国产欧美综合一区二区三区| 久久精品一区二区三区中文字幕| 欧美成人在线免费视频| 日韩视频不卡| 香蕉久久夜色精品| 伊人久久综合| 一区二区三区日韩欧美| 国产精品入口日韩视频大尺度| 久久狠狠亚洲综合| 欧美精品一区二区视频| 亚洲一区欧美一区| 榴莲视频成人在线观看| 亚洲精品乱码久久久久| 午夜精品久久久| 一区二区在线视频播放| 在线视频免费在线观看一区二区| 国产精品一区二区你懂的| 亚洲高清激情| 国产精品v一区二区三区| 欧美一区二区三区视频免费播放 | 欧美国产精品v| 在线视频欧美日韩精品| 久久久久一区二区三区四区| 亚洲激情黄色| 欧美一区二区日韩| 亚洲黄色av一区| 性欧美大战久久久久久久久| 亚洲国产91| 欧美一区二区三区另类 | 99re视频这里只有精品| 国产精品久久毛片a| 亚洲国产精品一区| 国产精品高潮呻吟| 亚洲黄网站在线观看| 国产精品一区二区男女羞羞无遮挡| 亚洲第一主播视频| 国产精品白丝av嫩草影院| 亚洲高清视频一区| 国产精品国产三级国产aⅴ入口| 久久精品国产69国产精品亚洲| 欧美日韩在线免费观看| 亚洲国产另类久久精品| 国产精品青草久久久久福利99| 亚洲精品欧洲| 国产精品蜜臀在线观看| 99国产精品久久久久久久久久 | 欧美亚洲视频一区二区| 欧美精品一区二区精品网| 欧美尤物巨大精品爽|