想请教一下java的编程前辈们,如果不用imageIO类的话怎样把一个jpg图片读入到二维数组中处理?
我现在只能把图片读入到byte数组中,但不知道如何转为二维数组,就像图像的灰度数组那样处理。我使用的是一个特定的jre,没有一般的javax.imageIO类。...
我现在只能把图片读入到byte数组中,但不知道如何转为二维数组,就像图像的灰度数组那样处理。我使用的是一个特定的jre,没有一般的javax.imageIO类。
展开
展开全部
不知道你说的特定jre是什么意思,不是一个只有有限功能的jre,比如嵌入式平台,如果是这样我建议你先用标准javase开发一个程序然后把图片变成数组存到文件里去,然后你直接读这个文件就可以了。可以用BufferedImage的getRGB(int x, int y)来获得每一个点得像素值然后存入到文本文件,你的程序只要读这个文本就可以了。
当然你可以再你那个专用jre上在加入一个Jpg读取功能,不过如果他本身不支持,你加上去就费劲很多。
当然你可以再你那个专用jre上在加入一个Jpg读取功能,不过如果他本身不支持,你加上去就费劲很多。
追问
如果用JNI呢?先用C语言编好dll,用Java来调用,不知道是否可以绕开Java类库不足的问题
追答
理论上是可以的,但是需要底层的人配合,我建议还是直接用j2se吧,其他的东西就作为一个插件,否则要做上去很可能吃力不讨好,一来图片格式很多,一旦你做了某一种图片弄不好有人又要求你做另外的,一旦有新图片格式出来,你又要做了,同时图片处理是想到耗费性能的,对于这种性能有限的平台无疑是给自己找不痛快。还有一点就是这种插件可以起到一个过滤作用,否则你直接处理图片难保不会出现一些内存上的问题,而用j2se的程序可以在转化的时候明确的做出警示,图片格式不对或者过大需要裁减。
展开全部
要求不是很明确。
我的猜测试是这样,你读取到了图片的byte
但是是一起读出的,你要分开,象文本那样一行一行的来做。
如果是这样,需要你自己手动来分开,但要注意不要破坏其完整性,否则还原回去的话,图片就是个错误的。
我的猜测试是这样,你读取到了图片的byte
但是是一起读出的,你要分开,象文本那样一行一行的来做。
如果是这样,需要你自己手动来分开,但要注意不要破坏其完整性,否则还原回去的话,图片就是个错误的。
追问
是的,用fileinputstream可以得到一个byte数组,然后只能根据图片的信息格式规则来一个字节一个字节处理,感觉太麻烦了
追答
如果不能引入第三方类库的话,只能自己来处理了,这个没有特别好的办法
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
等答案
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这样的话很费劲啊,不是不可以读入!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询