Do you drink java?



                像寫情書一樣coding

           

          [Image] 使用JAI將實現RenderedImage接口的圖像對象序列化

          我們都知道,圖像對象可以編碼成指定圖像格式文件保存在硬盤上,需要時再對其進行解碼讀入內存。但是除了這樣還有別的辦法可以將圖像對象保存在硬盤上嗎?熟悉Java I/O 的人也許可以想到采用對象序列化(Object serialization)試一試,很好,但是如果你研究了 BufferedImage?類的結構后就會大失所望(至少當時我是這樣)。
          BufferedImage.jpg

          BufferedImage?提供一般圖像管理。BufferedImage 對象包括另外兩個對象:Raster 和 ColorModel。Raster 對象包含另外兩個對象:DataBuffer 和 SampleModel。不幸的是,他們都沒有實現序列化所必需的 Serializable 接口,所以無法直接對他們進行對象序列化。

          我在學習 JAI 的時候發現了 javax.media.jai.remote 包里有一個類 SerializableRenderedImage,這個類實現了RenderedImage, Serializable 接口,可以將 RanderedImage 對象作為構造函數的參數實例化一個可以序列化的圖像對象。

          javax.media.jai.remote.SerializableRenderedImage

          public final class SerializableRenderedImage
          extends Object
          implements RenderedImage, Serializable

          SerializableRenderedImage(RenderedImage?source)
          ??????????Constructs a SerializableRenderedImage wrapper for a RenderedImage source.
          SerializableRenderedImage(RenderedImage?source, boolean?useDeepCopy)
          ??????????Constructs a SerializableRenderedImage wrapper for a RenderedImage source.
          SerializableRenderedImage(RenderedImage?source, boolean?useDeepCopy, OperationRegistry?registry, String?formatName, TileCodecParameterList?encodingParam, TileCodecParameterList?decodingParam)
          ??????????Constructs a SerializableRenderedImage wrapper for a RenderedImage source.

          查看JDK的文檔可以知道無論 Java 2D 中的 BufferedImage 還是 JAI 中的 PlanarImage 都實現自 RenderedImage 接口,也就是說所有實現自 RenderedImage 接口的對象均可作為參數包裝出一個 SerializableRenderedImage 類型對象,將其序列化。

          下面是一個簡單的例子說明了這個類的使用方法:

          import?java.io.*;
          import?javax.media.jai.remote.*;

          import?java.awt.image.*;

          public?class?SomeSerializableClass
          ????
          implements?Serializable?{
          ??
          protected?transient?RenderedImage?image;

          ??
          //?Fields?omitted.

          ??
          public?SomeSerializableClass(RenderedImage?image)?{
          ????
          this.image?=?image;
          ??}


          ??
          //?Methods?omitted.

          ??
          //?Serialization?method.
          ??private?void?writeObject(ObjectOutputStream?out)?throws?IOException?{
          ????out.defaultWriteObject();
          ????out.writeObject(
          new?SerializableRenderedImage(image,?true));
          ??}


          ??
          //?Deserialization?method.
          ??private?void?readObject(ObjectInputStream?in)?throws?IOException,
          ??????ClassNotFoundException?
          {
          ????in.defaultReadObject();
          ????image?
          =?(RenderedImage)?in.readObject();
          ??}

          }

          posted on 2005-10-18 17:36 leon 閱讀(2835) 評論(1)  編輯  收藏 所屬分類: Java Media

          評論

          # re: 將 RenderedImage 對象序列化 2005-10-18 19:32 pudgy

          不錯阿,感謝了
            回復  更多評論   

          導航

          統計

          公告

          DSC_0106.jpg
          本博客已經搬家到CSDN
          http://blog.csdn.net/chenweionline




          常用鏈接

          留言簿(5)

          隨筆分類

          隨筆檔案

          About Technology

          My Favorite Website

          搜索

          積分與排名

          最新評論

          • 1.?re: 胃痙攣
          • 兄弟們你們都做胃鏡了嗎開的啥藥?有什么養胃秘方啊?請賜教啊!
          • --我也進來了
          • 2.?re: 胃痙攣
          • @痛啊
            我感覺比生孩子還疼,生孩子還能有意識呢!這種疼還叫不出來連說話的力氣都沒了
          • --我也進來了
          • 3.?re: 胃痙攣
          • 評論內容較長,點擊標題查看
          • --我也進來了
          • 4.?re: 胃痙攣
          • 我都周期性的發作,算來有4年了 。每年最少一次,一次最少2天。吃了好多藥就差沒去做胃鏡了。 剛剛發作就隨便煮了點姜湯喝下就好了些,不知道還會不會發作了。
          • --許家洛
          • 5.?re: 胃痙攣
          • 我昨晚也疼的要死。。上次疼的直接120送醫院了,一上120我竟然就不疼了,醫院里掉了瓶鹽水就放回家了。這次正好國外旅游中,幾乎疼了一整晚,整個在床上翻滾狀態了。今天不疼了,就是整個人難受。。。求助阿
          • --胃疼
          • 6.?re: [Swing]在 JFileChooser 中進行文件驗證的小技巧
          • 輸入*還是會有問題
          • --ngh
          • 7.?re: 胃痙攣[未登錄]
          • 昨晚一夜的身不如死的感覺,胃痙攣兄不要來了吧 ,求你了
          • --李飛
          • 8.?re: 胃痙攣
          • 評論內容較長,點擊標題查看
          • --daidai
          • 9.?re: 胃痙攣
          • 評論內容較長,點擊標題查看
          • --痛啊
          • 10.?re: 胃痙攣
          • 媽啊 痛的快死了~!第一次感覺過這樣的痛啊~!和女的生孩子有的一比了吧~!哭哭哭~!
          • --痛啊

          閱讀排行榜

          主站蜘蛛池模板: 绿春县| 南投县| 永春县| 临西县| 菏泽市| 罗甸县| 蓬安县| 神木县| 平江县| 龙里县| 云阳县| 买车| 得荣县| 柘荣县| 邯郸市| 竹山县| 定州市| 太湖县| 鄂温| 永吉县| 安顺市| 鲜城| 岳西县| 安丘市| 双桥区| 波密县| 丰宁| 芷江| 巴楚县| 宁河县| 灵丘县| 太和县| 蛟河市| 涿鹿县| 海原县| 黄平县| 全椒县| 迁安市| 乐至县| 郓城县| 澎湖县|