“未来的世界:方向比努力重要,能力比知识重要,健康比成绩重要,生活比文凭重要,情商比智商重要! ”    ——清华大学校长留给毕业生的一段话

图像在网络中的传输机制

上一篇 / 下一篇  2007-08-12 15:40:51

图像在网络上传输,一般都是传输编码压缩后的图像。例如在本地将一张图像编码压缩成JPEG格式后通过网络传输出去,接收端接收到之后再将其解码,用于显 示,或者直接存储到存储介质上。当然,如果不考虑传输数据量,或者有一些特殊需求也可以直接将图像对象序列化后传输。本文只讨论前者,关于图像对象序列化 可以参考我的另一篇文章《图像序列化》。
G{1`3\ mE0
uoZ]bWL!sU0那么整理一下,这个过程也就分为3个步骤:
CIx3t)v v;ZO _[e7|01、发送端图像编码。
-rB"_h!L mO4qj2V02、以字节流的方式在网络上传输;
0cnM N0xMZ03、接收端解码。
O E3j{;vEa0
ToMClr(e(@)w0图像编码
's+}&Q*y"mg(x0
因为图像编码解码主要目的是针对图像在网络中的传输,所以编码之后的图像不必保存在硬盘上,可以直接放入一个字节数组。51Testing软件测试网8h1QQYB%}5nS(xf

2kt)DQ$h0
    public byte[] getCompressedImage(BufferedImage image){
(?t.Nczu0        
byte[] imageData = null;
5Bz,H/Wn@x,G0        51Testing软件测试网8z@uf+a[mc
        
try {
j(j4gp,{O wQ0            ByteArrayOutputStream baos 
= new ByteArrayOutputStream();
1Do*y0x0^0            ImageIO.write(image, 
"jpg", baos);
p;^!Q?$no ^0MF0            imageData 
= baos.toByteArray();
5t%v7l;j~2I|0        }
 catch (IOException ex) {51Testing软件测试网O w'?a6[ E+j
            imageData 
= null;51Testing软件测试网\.i A-llw a
        }
51Testing软件测试网8DSb-N"{/f ^8y5q
        51Testing软件测试网+?)tm8P Hhi?1^+z
        
return imageData;51Testing软件测试网xL9}'A:R?$d0TV
    }

BxWB!Y0
2k4G E1M/N&EZ~c0图像解码51Testing软件测试网 lw4](YoI.Y
接收端接收到表示图像数据的字节数组后,对其进行解码,得到图像对象。因为我们在发送端将其编码成JPEG格式,所以可以直接在接收端使用ImageIO对其进行解码。
7Gcp3{pa `7[;B0
z7i8?HJ|.v-a^;[0
    public BufferedImage getDecompressedImage(byte[] imageData){51Testing软件测试网%yh-nI7beH
        
try {
#Jl8?U u0            ByteArrayInputStream bais 
= new ByteArrayInputStream(imageData);51Testing软件测试网 fVVv;F)W!E
            
return ImageIO.read(bais);
r(U {Q.Lq0        }
 catch (IOException ex) {
,tB,g1Z/^Ug#~0            
return null;51Testing软件测试网 H hRB]} Z`WB
        }

4y!s @,DW;?AY0    }

t*J _z"I8{ q0网络传输51Testing软件测试网Wg%I ^Ip
因为图像编码之后是一个存在于内存中的字节数组,所以可以使用IO流的方式将其发送到网络的接收端,接收端建立链接将其接收。最常用的例如建立 Socket 连接等等。这部分代码讲IO的书里都有,我就不在这里写了。51Testing软件测试网P#a'Np4Z0UHm

"pt {7w v$K'|9ET%t0

TAG:

 

评分:0

我来说两句

我的栏目

日历

« 2024-04-06  
 123456
78910111213
14151617181920
21222324252627
282930    

数据统计

  • 访问量: 57864
  • 日志数: 103
  • 图片数: 4
  • 文件数: 2
  • 建立时间: 2007-05-20
  • 更新时间: 2010-11-23

RSS订阅

Open Toolbar