1

私は次のことをする必要があります:

  1. Androidのカメラを使用して写真を取得します...
  2. 画像から背景を削除し、別の背景に配置します
  3. それを保存

これらの3つの手順をうまく実行しています...問題は、画像が小さいサイズ(160 x 120)で保存されることです。私がカメラから結果を得るとき、私はこれをします:

protected void onActivityResult(int requestCode, int resultCode, Intent data) {  
        if (requestCode == CAMERA_REQUEST) {  
            Bitmap photo = (Bitmap) data.getExtras().get("data");
            Log.i("Test", "Width: " + photo.getWidth() + " Height: " + photo.getHeight());

戻ります

Width: 160 Height: 120

「データ」変数から取得している画像は1280x960です。

使用する場合

background= Bitmap.createScaledBitmap(background, 1280, 960, false);

画質が悪い画像...

どうすれば適切なサイズのビットマップを取得できますか?!

4

1 に答える 1

2

画像をファイルに書き込んでから、結果としてファイル名を返してみてください。

@Override
public void onPictureTaken(byte[] data, Camera camera) {
  File pictureFile = new File(filename);

  try {
    FileOutputStream fos = new FileOutputStream(pictureFile);
    fos.write(data);
    fos.close();
  } catch (Exception e) {
  }

  Intent intent = this.getIntent();
  intent.putExtra("filename", filename);
  this.setResult(RESULT_OK, intent);
  finish();
}
于 2012-09-07T23:30:33.753 に答える