2015-07-20 3 views
0

Я хочу обрезать изображение, я могу реализовать это.Как открыть изображение напрямую с возможностью обрезки

Мой код в

Intent cropIntent = new Intent(Intent.ACTION_PICK, 
       android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);   
     cropIntent.setDataAndType(fileUri, "image/*"); 
     // set crop properties 
     cropIntent.putExtra("crop", "true");  
     cropIntent.putExtra("return-data", true);  
     startActivityForResult(cropIntent, CROP_PIC); 

где fileUri содержит URI для пути образа, который я хочу, чтобы обрезать из галереи.

Используя этот код, открывается предупреждение, чтобы выбрать приложение для выбора изображения. Мне интересно, когда я уже прошел путь к образцу, и почему он просит выбрать приложение для открытия изображения и когда я выбираю приложение (через галерею), тогда мне нужно выберите изображение из галереи для обрезки.

Я хочу решение, с помощью которого мое изображение просто открывается с возможностью обрезки без запроса выбора приложения для открытия?

Возможно ли это? пожалуйста, помогите мне достичь ее ...

+0

Там почти нет шансов, если вы не используете программу просмотра контента вместо этого. Оформить заказ [этот пост] (http://stackoverflow.com/questions/5383797/open-an-image-using-uri-in-androids-default-gallery-image-viwer). – Matthias

+0

@androidcode вы нашли решение? – Amy

ответ

1

попробовать с этим:

 String filename = "image.png"; 
    String path = "/mnt/sdcard/" + filename; 
    File f = new File(path); // 
    Uri imgUri= Uri.fromFile(f); 
    Intent intent = new Intent("com.android.camera.action.CROP"); 
      intent.setDataAndType(imgUri, "image/*"); 
      intent.putExtra("crop", "true"); 
      intent.putExtra("aspectX", 1); 
      intent.putExtra("aspectY", 1); 
      intent.putExtra("outputX", 50); 
      intent.putExtra("outputY", 50); 
      intent.putExtra("return-data", true); 
      startActivityForResult(intent, 1); 
+0

благодаря u ... это сработало для меня –

+0

счастливое кодирование :) – Amy

0

Используя родной урожай не является хорошим решением, потому что поведение каждой культуры различна. Я натолкнулся на некоторые ошибки, так как невозможно сохранить файл, это неправильное соотношение сторон, возможно, есть и другие.
Я думаю, что лучшее решение для использования пользовательской библиотеки урожая после выбора фотографии из галереи.
Есть некоторые хорошие библиотеки с примерами, как https://github.com/jdamcd/android-crop или https://github.com/lvillani/android-cropimage или https://github.com/edmodo/cropper

Смежные вопросы