Permettre à l'utilisateur de rogner l'image

Je vais avoir un moment difficile de déterminer comment permettre à l'utilisateur de recadrer l'image.
Je voudrais donner un bitmap variable avec bitmap chargée de recadrer l'image avant de la définir comme fond d'écran. Mais je ne suis pas le faire... c'est Ici que j'ai essayé.

Première version. = Fonctionne comme prévu, MAIS l'image renvoyée est en faible résolution. La modification de la sortie à une valeur plus élevée n'aide pas. Comme je l'ai vu dans certains post, il n'est pas recommandé d'utiliser la caméra comme tous les appareils prennent en charge ce.

Intent intent = new Intent("com.android.camera.action.CROP");  
String path = Images.Media.insertImage(context.getContentResolver(), loaded,null, null);
Uri uri = Uri.parse(path);              
intent.setData(uri);  
intent.putExtra("crop", "true");  
intent.putExtra("aspectX", 1);  
intent.putExtra("aspectY", 1);  
intent.putExtra("outputX", 300);  
intent.putExtra("outputY", 300);  
intent.putExtra("noFaceDetection", true);  
intent.putExtra("return-data", true);                                  
startActivityForResult(intent, 2);

Seconde. Charge jusqu'à l'image de sélecteur, et de la culture par la suite. Comment puis-je configurer pour charger des cultures directement sur mon image? Tout comme dans la version 1

Intent photoPickerIntent = new Intent(MediaStore.ACTION_PICK);
photoPickerIntent.setData(uri);
photoPickerIntent.putExtra("crop", "true");
photoPickerIntent.putExtra(MediaStore.EXTRA_OUTPUT, uri);
photoPickerIntent.putExtra("outputFormat", Bitmap.CompressFormat.JPEG.toString());
startActivityForResult(photoPickerIntent, 2);

Et onActivity résultat

protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    if (resultCode != RESULT_OK) { return; }
    if(requestCode == 2) {
        Bundle extras = data.getExtras();  
        if(extras != null ) {  
            Bitmap photo = extras.getParcelable("data");  
            loaded = photo;
        }
        WallpaperManager myWallpaperManager = WallpaperManager.getInstance(getApplicationContext());

        try {
            myWallpaperManager.setBitmap(loaded);
        } catch (IOException e) {}
    }
}

Je ne sais pas qu'elles sont les bonnes méthodes pour faire de ce fait, mais j'espère que quelqu'un pourrait me diriger dans la bonne direction. Qui, pourquoi, et comment les utiliser.

Mise à jour: je suis toujours en attente de quelqu'un pour montrer comment le faire correctement, les réponses ci-dessous sont travail mais le retour des images en faible résolution, de sorte qu'ils ne sont pas une option pour utiliser

il suffit d'ajouter la culture de la méthode avant de l'utilisateur retourne sur votre activité. avant u vue d'ensemble.setImageBitmap ou quelque chose que vous avez à faire passer la méthode de découpage.
Je reviens avec votre solution d'utiliser ce lien github.com/edmodo/cropper ,C'est un projet de démonstration du code de la sorcière résoudre votre problème.
Juste essayer ce code,je sais, je ne suis pas de mal!!
Je vous remercie. Je vais essayer celui-là, alors j'ai du temps libre pour que

OriginalL'auteur Datenshi | 2013-02-27