0

カメラからキャプチャした後に画像をトリミングしたい。私はこのコードを使用しています。

Intent cropIntent = new Intent("com.android.camera.action.CROP");

しかし、エラーが発生します:アクティビティが見つかりません。私のAndroidバージョンは4.2.2です。

私も試しました。

Intent intent = new Intent(Intent.ACTION_PICK);

ただし、キャプチャした画像ではなくギャラリーを開きます。

4

2 に答える 2

0

以下は、私のサムスンギャラクシーs3で機能しました。スナップショットを確認する

カメラで画像をキャプチャするためにこれを使用します

     Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);

activity_main.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".MainActivity" >

<Button
    android:id="@+id/button1"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:text="Button" />

<ImageView
    android:id="@+id/imageView1"
    android:layout_width="fill_parent"
    android:layout_height="0dp"
    android:layout_weight="1"
    android:src="@drawable/ic_launcher" />

 </LinearLayout>

主な活動

public class MainActivity extends Activity {

private static final int PICK_FROM_CAMERA = 1; 
ImageView iv;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    iv = (ImageView) findViewById(R.id.imageView1);
    Button buttonCamera = (Button) findViewById(R.id.button1);
    buttonCamera.setOnClickListener(new OnClickListener() {

        public void onClick(View v) {
        // call android default camera
        Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);

        intent.putExtra(MediaStore.EXTRA_OUTPUT,
        MediaStore.Images.Media.EXTERNAL_CONTENT_URI.toString());
        // ******** code for crop image
        intent.putExtra("crop", "true");
        intent.putExtra("aspectX", 0);
        intent.putExtra("aspectY", 0);
        intent.putExtra("outputX", 200);
        intent.putExtra("outputY", 150);

        try {

        intent.putExtra("return-data", true);
        startActivityForResult(intent, PICK_FROM_CAMERA);

        } catch (ActivityNotFoundException e) {

        }
        }
        });


}
protected void onActivityResult(int requestCode, int resultCode, Intent data) {

    if (requestCode == PICK_FROM_CAMERA) {
    Bundle extras = data.getExtras();
    if (extras != null) {
    Bitmap photo = extras.getParcelable("data");
    iv.setImageBitmap(photo);

    }
    }       
    }        
    } 

結果のスナップショット

ここに画像の説明を入力

于 2013-05-05T09:45:35.987 に答える