2017-06-06 2 views
-4

Ce que je veux faire:Comment unBlur partie carrée de l'image sur Blurry tactile android

En vol stationnaire de la souris de l'image floue, il montre unblur même image en forme carrée comme l'image suivante. (L'image est complètement flou, sur la souris hover l'image unblur montre forme carrée)

Ce que je l'ai fait:

Je mis l'image de flou en utilisant le code suivant (link) en utilisant PorterDuff.Mode. Au toucher du pointeur de la souris de l'écran converti en carré et l'image montre unblur.


Edit:

Problème:

Maintenant photo est unblur, mais je ne peux pas trouver l'effet de flou correct sur l'image floue et de l'image unblur est pas clair, le contact ne fonctionne pas correctement.

Mon code:

en utilisant l'affichage personnalisé et les méthodes suivantes je suis en mesure de brouiller l'image et unblur mais il n'y a pas complètement satisfait de sortie.

@Override 
    protected void onDraw(Canvas canvas) { 
     canvas.drawColor(mTutorialColor); 
     if (mCx >= 0 && mCy >= 0) { 
      DisplayMetrics displayMetrics = new DisplayMetrics(); 
      ((Activity) getContext()).getWindowManager().getDefaultDisplay().getMetrics(displayMetrics); 
      int height = displayMetrics.heightPixels; 
      int width = displayMetrics.widthPixels; 
      // canvas.drawCircle(mCx, mCy, RADIUS, mBackgroundPaint); 
      canvas.drawRect(mCx, mCy, mCx + width, mCy + 250, mBackgroundPaint); 
     } 

    } 


private void init() { 
     setWillNotDraw(false); 
     setLayerType(LAYER_TYPE_HARDWARE, null); 
     mBackgroundPaint = new Paint(); 
     mBackgroundPaint.setColor(getResources().getColor(android.R.color.transparent)); 
     mBackgroundPaint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.CLEAR)); 
    } 

Existe-t-il un autre moyen d'y parvenir?

enter image description here

+0

On ne sait toujours pas quel est le problème au sujet de ... – Oleksandr

+0

@Alexandr tout d'abord, vous pouvez voir l'image floue de chat, mais il n'y a pas beaucoup de flou, donc je dois flouter plus, donc personne ne peut reconnaître l'image et nous touchons l'image, il montre seulement une image claire sur cette partie tactile. –

+0

@Alexandr ici l'image claire est également pas très claire et lorsque nous touchons sur l'écran, le toucher doit être dessiné rectangle et que restreindre à se déplacer sur l'axe x. il ne bouge que de gauche à droite. –

Répondre

1

Vous devez le mettre en œuvre différemment.

Vous avez besoin de deux images (au lieu d'un):

  1. un trouble. Ce qui sera toujours dessiné en arrière-plan (ou dans une vue en dessous). Lire here comment flouter l'image.

  2. Une normale. Celui-ci devrait être dessiné sur le dessus d'un flou en utilisant le masque carré. Cochez cette case answer.

PLUS DE DÉTAILS:

Il peut se faire de la même manière, comment je l'ai expliqué dans this answer, mais avec Mode.DST_IN Xfermode au lieu de PorterDuff.Mode.CLEAR.

J'espère que cela vous aidera.