2016-09-06 3 views
0

J'ai utilisé l'intention de recadrage pour ajouter une fonctionnalité de rognage d'image à mon application. J'ai utilisé TouchImageView comme vue de ma photo. Après avoir recadré et réglé l'image recadrée sur TouchImageView, l'image est floue. Avant d'ajouter cette fonctionnalité de culture, je l'ai fait pour obtenir les données d'image de la caméra et le mettre à TouchImageView comme:L'image rognée est floue dans TouchImageView

 Uri imageUri; 
     TouchImageView myTVF = (TouchImageView) findViewById(R.id.img); 
     imageUri = data.getData(); 
     myTVF.setImageURI(imageUri); 

Mais maintenant, afin d'utiliser l'intention des cultures, après la capture d'image suivie par le recadrage, je suis en utilisant ceci pour définir l'image recadrée sur mon TouchImageView:

  (....) 
      else if(requestCode == PIC_CROP){ 
      Bundle extras = data.getExtras(); 
      Bitmap thePic= extras.getParcelable("data"); 
      myTVF.setImageBitmap(thePic); 

Mais, le jeu d'images est maintenant flou. Est-ce que quelqu'un peut m'aider avec ça? (Je tente aussi d'utiliser d'autres bibliothèques de culture disponibles .. mais je voulais juste savoir pourquoi cela ne fonctionne pas)

Répondre

0

Je suppose que vous appeliez startActivity() sur un Intent avec une action de com.android.camera.action.CROP.

Il y a article saying that android doesn't not have crop intent. Donc, je recommande d'utiliser another good 3rd party library.

+0

Merci pour votre réponse! J'ai essayé d'utiliser cette bibliothèque mais je n'ai pas pu suivre ses pas! Pouvez-vous m'aider avec? Où dois-je inclure cette ligne? : Crop.of (inputUri, outputUri) .asSquare(). Start (activité). Je veux recadrer l'image dès que je capture l'image de la caméra dans mon application. –

+0

@ShravanDG Vous pouvez l'appeler après la fin de la récolte. Habituellement, j'attrape à l'intérieur de 'protected void onActivityResult (int requestCode, int résultatCode, données Intent)', vérifiez le code de résultat avec 'if (resultCode == RESULT_OK && requestCode == Crop.REQUEST_PICK)'. Là, allez, vous pouvez mettre 'Crop.of (inputUri, outputUri) .asSquare(). Start (activité)' là. –