Ich versuche, ein Bild zuzuschneiden nach der Einnahme nehmen, und mein Code ist wie folgt:Android: ein Bild zuschneiden, nachdem es mit Kamera mit einem festen Seitenverhältnis
private void doTakePhotoAction() {
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
intent.putExtra(MediaStore.EXTRA_OUTPUT, MediaStore.Images.Media.EXTERNAL_CONTENT_URI.toString());
intent.putExtra("crop", "true");
intent.putExtra("aspectX", 1);
intent.putExtra("aspectY", 1);
intent.putExtra("outputX", 96);
intent.putExtra("outputY", 96);
try {
intent.putExtra("return-data", true);
startActivityForResult(intent, PICK_FROM_CAMERA);
} catch (ActivityNotFoundException e) {
//Do nothing for now
}
}
Mit dem obigen Code, ich Ich kann in den Crop-Modus wechseln und das Bild zuschneiden. Das 1: 1-Seitenverhältnis wird jedoch nicht erzwungen, und auch OutputX und OutputY werden nicht verwendet. Ich glaube, das liegt daran, dass die Absicht war, ein Foto zu machen, nicht zum Zuschneiden. Ich habe auch eine andere Methode getData() aus der Absicht geschrieben, und danach die folgenden verwenden:
Intent intent = new Intent("com.android.camera.action.CROP");
intent.setClassName("com.android.camera", "com.android.camera.CropImage");
Allerdings, wenn ich das tun, erhalte ich die folgenden Laufzeitfehler:
E/AndroidRuntime(14648): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.android.camera/com.android.camera.CropImage}: java.lang.NullPointerException
Danke für die Hilfe! :)
Funktioniert auch nicht für mich sehen Keine Aktivität gefunden Intent {act = android.intent.action.GET_CONTENT (hat Extras)} – stoefln