知识大全 Java图像传输方法
Posted 知
篇首语:提兵百万西湖上,立马吴山第一峰!本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 Java图像传输方法相关的知识,希望对你有一定的参考价值。
Java图像传输方法 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
一 序列化后传输
图像对象可以编码成指定图像格式文件保存在硬盘上 需要时再对其进行解码读入内存 但是除了这样还有别的办法可以将图像对象保存在硬盘上吗?熟悉Java I/O 的人也许可以想到采用对象序列化(Object serialization) BufferedImage 提供一般图像管理
BufferedImage 对象包括另外两个对象 Raster 和 ColorModel Raster 对象包含另外两个对象 DataBuffer 和 SampleModel 不幸的是 他们都没有实现序列化所必需的 Serializable 接口 所以无法直接对他们进行对象序列化 JAI 的 dia jai remote 包里有一个类 SerializableRenderedImage 这个类实现了RenderedImage Serializable 接口 可以将 RanderedImage 对象作为构造函数的参数实例化一个可以序列化的图像对象
查看JDK的文档可以知道无论 Java D 中的 BufferedImage 还是 JAI 中的 PlanarImage 都实现了 RenderedImage 接口 也就是说所有实现自 RenderedImage
接口的对象均可作为参数包装出一个 SerializableRenderedImage 类型对象 将其序列化
下面是一个简单的例子说明了这个类的使用方法
查看复制到剪切板打印
import java io *;
import dia jai remote *;
import java awt image *;
public class SomeSerializableClass implements Serializable
protected transient RenderedImage image;
public SomeSerializableClass(RenderedImage image)
this image = image;
// 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();
二 以字节流的方式传输
图像编码
因为图像编码解码主要目的是针对图像在网络中的传输 所以编码之后的图像不必保存在硬盘上 可以直接放入一个字节数组
查看复制到剪切板打印
public byte[] getCompressedImage(BufferedImage image)
byte[] imageData = null;
try
ByteArrayOutputStream baos = new ByteArrayOutputStream();
ImageIO write(image jpg baos);
imageData = baos toByteArray();
catch (IOException ex)
imageData = null;
return imageData;
图像解码
接收端接收到表示图像数据的字节数组后 对其进行解码 得到图像对象 因为我们在发送端将其编码成JPEG格式 所以可以直接在接收端使用ImageIO对其进行解码
查看复制到剪切板打印
public BufferedImage getDepressedImage(byte[] imageData)
try
ByteArrayInputStream bais = new ByteArrayInputStream(imageData);
return ImageIO read(bais);
catch (IOException ex)
return null;
网络传输
cha138/Article/program/Java/hx/201311/25572相关参考
前些时候做毕业设计用java做的数字图像处理方面的东西这方面的资料ms比较少发点东西上来大家共享一下主要就是些算法有自己写的有人家的还有改人家的有的算法
以下是一个用java演示的产生图像烟花的算法可以用来研究以下相关的东西希望对有兴趣的朋友有用 import javaappletAudioClip; import&nbs
用JAI扩展Java的图像处理能力 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!lishixinz
JavaApplet编程之实现显示图像 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! JavaA
JavaSocket网络传输的序列化机制 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! Java
知识大全 Java Socket编程(一)Socket传输模式
JavaSocket编程(一)Socket传输模式 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
JavaSocket传输数据的文件系统介绍 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! Jav
Java获取及修改图像的RGB值和Alpha值 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! /
JavaApplet编程之声音和图像的协调 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 在有些
可实现以下常用功能缩放图像切割图像图像类型转换彩色转黑白文字水印图片水印等 代码如下复制代码importjavaawtAlphaComposite;importjavaawtColor;impo