Как в Android вызвать стандартную обрезку картинки?

Рейтинг: 1Ответов: 1Опубликовано: 19.02.2015

В андроид есть стандартная обрезка картинок, которая вызывается, если вы хотите назначить контакту картинку, но она для этого слишком большая, хотелось бы узнать, как её можно вызвать.

А ещё было бы лучше, если бы вы посоветовали, как вызвать обрезку, после того, как я сделаю фото, т.е. из моего приложения нужно вызвать стандартную камеру, сделать снимок и чтобы далее вызвалась стандартная программа для обрезки фото.

Может, я ошибаюсь, и так не получится сделать, может, я смогу только вызвать камеру, сделать снимок и только потом вызвать обрезку картинок, в принципе не важно, но первый вариант куда более предпочтителен. И хотелось бы ещё узнать, как передать параметры в обрезку картинок, это необходимо делать через Bundle при передачи интента?

Заранее большое спасибо.

Ответы

▲ 3Принят
//call the standard crop action intent (the user device may not support it)
Intent cropIntent = new Intent("com.android.camera.action.CROP"); 
    //indicate image type and Uri
cropIntent.setDataAndType(picUri, "image/*");
    //set crop properties
cropIntent.putExtra("crop", "true");
    //indicate aspect of desired crop
cropIntent.putExtra("aspectX", 1);
cropIntent.putExtra("aspectY", 1);
    //indicate output X and Y
cropIntent.putExtra("outputX", 256);
cropIntent.putExtra("outputY", 256);
    //retrieve data on return
cropIntent.putExtra("return-data", true);
    //start the activity - we handle returning in onActivityResult
startActivityForResult(cropIntent, PIC_CROP);

Дивайс вполне вероятно может и не поддерживать эту фичу.