Estoy intentando recortar una imagen después de tomarla, y mi código es el siguiente:Android: recortar una imagen después de tomarla con la cámara con un aspecto fija Relación de
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
}
}
Con el código anterior, me Puedo ir al modo de recorte y recortar la imagen. Sin embargo, la relación de aspecto 1: 1 no se aplica, y tampoco la salidaX y la salidaY. Creo que esto se debe a que la intención era tomar una fotografía, no para recortar. También he escrito otro método para getData() de la Intención, y después de eso usa la siguiente:
Intent intent = new Intent("com.android.camera.action.CROP");
intent.setClassName("com.android.camera", "com.android.camera.CropImage");
Sin embargo, cuando lo hago, me sale el siguiente error de ejecución:
E/AndroidRuntime(14648): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.android.camera/com.android.camera.CropImage}: java.lang.NullPointerException
¡Gracias por la ayuda! :)
No funciona ni para mí: android.content.ActivityNotFoundException: No se ha encontrado actividad para manejar el intento {act = android.intent.action.GET_CONTENT (tiene extras)} – stoefln