BufferedImageaをに変換する必要がありますbyte[]が、遅すぎます。バイトは最終的にbase64でエンコードされ、Androidクライアントに送信されます。私が使用している方法は次のようなものです。
public static byte[] ImageToBytes(BufferedImage im) throws IOException
{
//make sure its NN
if(im!=null)
{
//create a ByteArrayOutputStream
ByteArrayOutputStream baos = new ByteArrayOutputStream();
//write our image to it
ImageIO.write( im, "png", baos );
//flush the stream
baos.flush();
//get the image in byte form
byte[] imageInByte = baos.toByteArray();
//close the stream
baos.close();
//return our value encoded in base64
return imageInByte;
}
return null;
}
これは私のプログラムには遅すぎます。をに変更するpngとjpeg、モバイル側で失敗します。バージョンはJpegCodecモバイル側でも失敗します。失敗すると、AndroidメソッドがをBitmapFactory.decodeByteArray()返すことを意味しますnull。