Я пытаюсь загрузить изображение с сервера и сохранить изображение на мобильном телефоне. Я могу загрузить изображение, но мне нужно изменить его размер, а затем сохранить изображение на мобильном телефоне.
код такой.
public void requestPlatform(String strURL) throws IOException {
try {
System.out.println("requestPlatform");
byte [] imageBytes = null;
if ((im = getImage1(strURL)) != null) {
im=resizeImage(im, width, height);
if(im!=null)
{
System.out.println("Image");
}
else
System.out.println("NoImage");
imageBytes=get_Byte_Array(im);
fileCon=(FileConnection)Connector.open("file:///root1/photos/diwali1.jpg",Connector.READ_WRITE);
fileCon.create();
if(fileCon.exists())
{
System.out.println("File created");
}
else
{
System.out.println("File not created");
}
out = fileCon.openDataOutputStream();
if(imageBytes!=null)
{
out.write(imageBytes, 0, imageBytes.length);
}
if(out!=null)
{
out.close();
}
if(fileCon!=null)
{
fileCon.close();
}
im2=Image.createImage(imageBytes, 0, imageBytes.length);
canvas.repaint();
}
} catch (Exception e) {
System.err.println("Msg: " + e.toString());
}
}
public byte[] get_Byte_Array(Image img) {
int[] imgRgbData = new int[img.getWidth() * img.getHeight()];
byte[] imageData2 = null;
try
{
img.getRGB( imgRgbData, 0, img.getWidth(), 0, 0, img.getWidth(), img.getHeight() );
} catch( Exception e )
{
}
ByteArrayOutputStream baos = new ByteArrayOutputStream();
DataOutputStream dos = new DataOutputStream( baos );
try{
for( int i = 0; i < imgRgbData.length; i++ )
{
dos.writeInt( imgRgbData[i] );
}
imageData2 = baos.toByteArray();
baos.close();
dos.close();
}catch(Exception e)
{
}
return imageData2;
}
Проблема в том, что когда я пытаюсь изменить размер изображения, а затем сохранить его на телефоне, он просто создает файл, но изображение отсутствует. Поэтому я думаю, что при преобразовании изображения в byteArray происходит какая-то ошибка.