如何用JAI擴(kuò)展Java的圖像處理能力,相信很多沒有經(jīng)驗(yàn)的人對(duì)此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個(gè)問題。
創(chuàng)新互聯(lián)專注于企業(yè)成都營(yíng)銷網(wǎng)站建設(shè)、網(wǎng)站重做改版、黔西網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、H5開發(fā)、成都商城網(wǎng)站開發(fā)、集團(tuán)公司官網(wǎng)建設(shè)、外貿(mào)網(wǎng)站建設(shè)、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性價(jià)比高,為黔西等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。
Java的圖像處理能力不斷地在增長(zhǎng),但是將一個(gè)如PNG或者JPEG格式的文件寫入磁盤或從磁盤讀取這樣的操作仍然是一種巫術(shù)。解決方案是使用Java
Advanced Imaging(JAI)API。JAI可以在Sun的Java網(wǎng)站下載,在JDK1.4的javax.imageio包里已經(jīng)包括了它。
有針對(duì)Windows平臺(tái)的exe格式的JAI安裝文件可以下載,
但是沒有針對(duì)UNIX和Linux的安裝文件。盡管JAI可以在純Java模式下運(yùn)行,但它也為Windows、Linux、UNIX提供了本地庫,使用它們可以提高運(yùn)行速度。
下面的例子是安裝在Apple機(jī)的OS
X系統(tǒng)上的,因此我們選擇了純Java模式。為了安裝JAI,你需要一個(gè)jai
tar.gz文件。把三個(gè)重要的jar文件mlibwrapper_jar.jar、jar_codec.jar和jar_core.jar移到你的classpath環(huán)境變量指定的目錄下。我們推薦把它們放到你的JDK的jre/lib/ext目錄下。
實(shí)際上JAI是Java中的一個(gè)臨時(shí)系統(tǒng)。這里只有一個(gè)名為JAI的頂層類和很少的幾個(gè)輔助方法,而沒有很多方法讓人去學(xué)習(xí)。這些方法里的第一個(gè)參數(shù)是操作名,所以代碼象這樣:
src
= JAI.create("fileload", .. );
JAI.create("extrema", src,
...);
JAI.create("histogram", src,
...);
這樣的系統(tǒng)在使它與你自己的或者第三方的功能可以很容易結(jié)合在一起的同時(shí)也使得類型間的耦合更松散,這進(jìn)而使得在這之下的開發(fā)更困難。
將一個(gè)AWT圖形轉(zhuǎn)換成一個(gè)PNG文件需要下列的代碼片斷:
import
java.awt.Image;
import
java.awt.image.renderable.ParameterBlock;
import
javax.media.jai.JAI;
import
javax.media.jai.PlanarImage;
.....
Image img =
....
OutputStream out = ....
ParameterBlock pb = new
ParameterBlock().add(img);
PlanarImage src = (PlanarImage)
JAI.create("awtImage", pb);
JAI.create("encode", src, out,"PNG", null);
以上的例子演示了兩種給create方法傳參數(shù)的方法,其中較新的方法是使用一個(gè)包含了所有參數(shù)的ParameterBlock,我們?cè)趯?duì)awtImage的操作中是這么做的。舊的方法使用的是一個(gè)重載的方法,它現(xiàn)在是deprecated(即被替代的舊方法,不推薦使用的)方法,但在這個(gè)例子中,我們?yōu)閑ncode操作使用了它。
上面的代碼會(huì)將一個(gè)圖像按PNG格式編碼并寫到OutputStream中去。如果你想對(duì)JAI進(jìn)行進(jìn)一步的了解,我們強(qiáng)烈推薦你去讀JAI指南。[@more@]
看完上述內(nèi)容,你們掌握如何用JAI擴(kuò)展Java的圖像處理能力的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!
當(dāng)前題目:如何用JAI擴(kuò)展Java的圖像處理能力
URL分享:http://vcdvsql.cn/article48/pehhep.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供用戶體驗(yàn)、網(wǎng)站維護(hù)、品牌網(wǎng)站建設(shè)、靜態(tài)網(wǎng)站、搜索引擎優(yōu)化、全網(wǎng)營(yíng)銷推廣
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)