3

バイト配列として内部にjpg画像があります。このバイト配列をjpgにダンプし、カナバに書き込んでからSDカードに保存するにはどうすればよいですか?

どんなアイデアでも大歓迎です。ありがとう。

4

2 に答える 2

4

を使用BitmapFactory.decodeByteArray()してを取得し、そのビットマップを使用してBitmap作成し、そこにテキストを描画します。Canvas最後に、次を使用して保存しBitmap.compress()ます。

Bitmap bmp = BitmapFactory.decodeByteArray(myArray, 0, myArray.length).copy(Bitmap.Config.RGBA_8888, true); //myArray is the byteArray containing the image. Use copy() to create a mutable bitmap. Feel free to change the config-type. Consider doing this in two steps so you can recycle() the immutable bitmap.
Canvas canvas = new Canvas(bmp);
canvas.drawText("Hello Image", xposition, yposition, textpaint); //x/yposition is where the text will be drawn. textpaint is the Paint object to draw with.

OutputStream os = new FileOutputStream(dstfile); //dstfile is a File-object that you want to save to. You probably need to add some exception-handling here.
bmp.compress(CompressFormat.JPG, 100, os); //Output as JPG with maximum quality.
os.flush();
os.close();//Don't forget to close the stream.
于 2012-04-24T12:46:21.400 に答える
2
  1. BitmapFactoryを使用してバイト配列をデコードします
    1. キャンバスを作成する
    2. その上にテキストを描く
    3. ビットマップをSDストレージに保存します

お役に立てれば。

于 2012-04-24T12:45:05.817 に答える