1

キャプチャした写真に画像とテキストのビューを動的に追加しています。以下は、ビューを追加した後に写真を保存するための私のコードです。キャプチャされた写真のサイズは 1.3MB (写真は 3MP カメラで撮影) ですが、保存された写真のサイズはわずか 50KB です。最終的なファイル サイズを増やして最大解像度を得るにはどうすればよいですか?

    photoLayout.setDrawingCacheEnabled(true);

    Bitmap b = Bitmap.createBitmap(photoLayout.getDrawingCache());       

    photoLayout.setDrawingCacheEnabled(false);    

    FileOutputStream fos = new FileOutputStream(path);
    b.compress(CompressFormat.PNG, 100, fos);
    fos.close();
4

3 に答える 3

0

ファイルに50kしかない場合は、ソースビットマップを確認してください。元の画像の代わりに画像のサムネイルを使用できます。大きなファイルをロードし、サイズを変更しない場合、そのような小さなファイルを取得する理由はありません。ファイルサイズは元のファイルと同じである必要があります。

ビットマップをロードするコードを投稿できますか?サムネイルをロードするとほぼ確実です!

編集:カメラから写真を取得するには:カメラから画像をキャプチャしてアクティビティに表示する

于 2012-07-10T06:33:55.307 に答える
0

Bitmap 形式から PNG 形式に変換すると、ファイル サイズが小さくなります。出力画像に必要な解像度があるかどうかを確認してください。ビットマップ形式は、画像の各ピクセルに関する情報を格納する非圧縮形式です。

于 2012-07-10T05:41:56.007 に答える
0

これは役に立つかもしれません: ビットマップのサイズを変更せずにビットマップを圧縮するにはどうすればよいですか?

于 2012-07-10T05:47:05.580 に答える