国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

用JAI擴展Java的圖像處理能力

2019-11-18 15:20:59
字體:
來源:轉載
供稿:網友

  java的圖像處理能力不斷地在增長,但是將一個如PNG或者JPEG格式的文件寫入磁盤或從磁盤讀取這樣的操作仍然是一種巫術。解決方案是使用Java Advanced Imaging(JAI)API。JAI可以在Sun的Java網站下載,在JDK1.4的javax.imageio包里已經包括了它。
有針對Windows平臺的exe格式的JAI安裝文件可以下載, 但是沒有針對UNIX和linux的安裝文件。盡管JAI可以在純Java模式下運行,但它也為Windows、Linux、UNIX提供了本地庫,使用它們可以提高運行速度。

下面的例子是安裝在Apple機的OS X系統上的,因此我們選擇了純Java模式。為了安裝JAI,你需要一個jai tar.gz文件。把三個重要的jar文件mlibwrapper_jar.jar、jar_codec.jar和jar_core.jar移到你的classpath環境變量指定的目錄下。我們推薦把它們放到你的JDK的jre/lib/ext目錄下。

實際上JAI是Java中的一個臨時系統。這里只有一個名為JAI的頂層類和很少的幾個輔助方法,而沒有很多方法讓人去學習。這些方法里的第一個參數是操作名,所以代碼象這樣:

src = JAI.create("fileload", .. );
JAI.create("extrema", src, ...);
JAI.create("histogram", src, ...);
這樣的系統在使它與你自己的或者第三方的功能可以很輕易結合在一起的同時也使得類型間的耦合更松散,這進而使得在這之下的開發更困難。

將一個AWT圖形轉換成一個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方法傳參數的方法,其中較新的方法是使用一個包含了所有參數的ParameterBlock,我們在對awtImage的操作中是這么做的。舊的方法使用的是一個重載的方法,它現在是dePRecated(即被替代的舊方法,不推薦使用的)方法,但在這個例子中,我們為encode操作使用了它。

上面的代碼會將一個圖像按PNG格式編碼并寫到OutputStream中去。假如你想對JAI進行進一步的了解,我們強烈推薦你去讀JAI指南。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 米易县| 韶山市| 巴马| 鲜城| 垦利县| 郓城县| 信丰县| 诸暨市| 久治县| 德安县| 客服| 寿宁县| 周口市| 晋宁县| 虞城县| 纳雍县| 丹阳市| 大冶市| 平原县| 瑞金市| 建瓯市| 广饶县| 利辛县| 格尔木市| 南溪县| 淅川县| 图们市| 吴忠市| 青岛市| 万荣县| 邛崃市| 漠河县| 永州市| 沽源县| 乐业县| 伊春市| 科技| 酒泉市| 汉源县| 泊头市| 台湾省|