怎样将bufferedImage转成byte[](散分)

congxz 2003-11-05 01:12:23
我想将bufferedImage转成byte[]以便得到bufferedImage内容的字节数如何实现?
谢谢
...全文
487 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
jtzwm 2003-11-05
  • 打赏
  • 举报
回复
受楼上的启发,我的思路(中间差一步):
BufferedImage bi=...
ObjectOutputStream oos=new ObjectOutputStream();
oos.writerObject(obj);


然后ByteArrayOutputStream类,
有int size()方法,和byte[] toByteArray()的方法,
应该可以满足楼主的要求。
可是我找不到怎么把ObjectOutputStream转到ByteArrayOutputStream的办法。
ByteArrayOutputStream并没有接收OutputStream的构造方法啊?

供参考。
LoveRose 2003-11-05
  • 打赏
  • 举报
回复
想得到bufferImage内容的字节数听困难的
看jdk文档我得到如下的知识,希望对你有用
如果可以把创建一个流去的取bufferImage的内容
那么可以通过ImageOutputStream 的length()方法得到字节数

或者用MemoryCacheImageInputStream的length()方法得到
但使用构造MemoryCacheImageInputStream时,首先必须得到一个inputstream
也是比较困难的

我测试过用FileImageInputStream取构造一个实例读一个图像文件
是可以得到length()也就是图像文件的大小
但好像时多此一举

我觉得要达到楼主的目的
比较困难啊!
大家阿可以继续讨论
lcz022 2003-11-05
  • 打赏
  • 举报
回复
int bf = getRGB(int x, int y) ;
byte[] bmp =new byte[bf];
congxz 2003-11-05
  • 打赏
  • 举报
回复
好像不行老报错
yayv 2003-11-05
  • 打赏
  • 举报
回复
int[] getRGB(int startX, int startY, int w, int h, int[] rgbArray, int offset, int scansize)

bufferedImage的方法,不行吗?
size:
1 int = 4 bytes

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧