如何将Image(microedition.lcdui.Image)对象保存到存储中?
我有这个Image对象:
Image outImg; //Contains image data
我尝试使用下面的代码将其保存到存储空间但没有成功:
int[] rgb = new int[240*320];
outImg.getRGB(rgb, 0, 240, 0, 0, 240, 320);
ByteArrayOutputStream bout = new ByteArrayOutputStream();
DataOutputStream dout = new DataOutputStream(bout);
dout.writeInt(240);
dout.writeInt(320);
for (int i = 0; i < rgb.length; i++) {
dout.writeInt(rgb[i]);
}
bytes = bout.toByteArray();
FileConnection fcOut = (FileConnection) Connector.open("file:///root1/img.png", Connector.READ_WRITE);
if (!fcOut.exists()) {
fcOut.create();
}
DataOutputStream out = fcOut.openDataOutputStream();
out.write(bytes);
我搜索了一个解决方案,但没有找到任何有用的东西。我怎样才能做到这一点?
或者,有没有办法将Image对象转换为字节数组?所以我可以使用DataOutputStream
将字节数组写入内存。