编写图像时出现问题

时间:2013-08-06 09:53:24

标签: java-me

现在进入J2ME项目,我需要选择一个图像并将此图像写入特定文件夹,例如存储卡中的某个位置,并带有所需的文件名。能够选择图像并显示它但是在尝试保存它时遇到了麻烦。当我尝试保存时,会创建一个图像文件但其大小为0.0 kb,当我点击图像时会显示“文件格式不受支持”

这是我的代码

fileCon =  (FileConnection)Connector.open(path+"Contacts/contactImages/"+FIRST_NAME+".png",Connector.READ_WRITE);   
if(!fileCon.exists())
 {
     fileCon.create();
 }

int h = contactImage.getHeight();
int w = contactImage.getWidth();

int[] size = new int[w*h];
contactImage.getRGB(size, 0, w, 0, 0, w, h);

ByteArrayOutputStream baos = new ByteArrayOutputStream();
DataOutputStream dos = new DataOutputStream(baos);

for (int i = 0; i < size.length; i++) 
 {
     dos.writeInt(size[i]);
 }

1 个答案:

答案 0 :(得分:0)

但是您正在将像素数据写入(内存中)ByteArrayOutputStream,而不是文件流。不应该有像

这样的东西

DataOutputStream dos = fileCon.openDataOutputStream();

当然应该关闭输出流以确保刷新所有数据。

另一件事是您正在保存原始ARGB数据而不是编码PNG图像,因此.png扩展名可能会混淆某些图像查看器。也许.bmp会更好。