BufferedImage
aをに変換する必要があります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
。