2016-02-20 1 views
0

Je veux flou à ImageViewAndroid: Erreur ScriptIntrinsicBlur

Ce code fonctionne pas et ScriptIntrinsicBlur ligne force de fermeture

Classe Blur:

private static final float BLUR_RADIUS = 20f; 


    public Bitmap blur(Bitmap image) { 
     if (null == image) 
      return null; 

     Bitmap outputBitmap = Bitmap.createBitmap(image); 
     final RenderScript renderScript = RenderScript.create(this); 
     Allocation tmpIn = Allocation.createFromBitmap(renderScript, image); 
     Allocation tmpOut = Allocation.createFromBitmap(renderScript, outputBitmap); 

     ScriptIntrinsicBlur theIntrinsic = ScriptIntrinsicBlur.create(renderScript, Element.U8_4(renderScript)); 
     theIntrinsic.setRadius(BLUR_RADIUS); 
     theIntrinsic.setInput(tmpIn); 
     theIntrinsic.forEach(tmpOut); 
     tmpOut.copyTo(outputBitmap); 
     return outputBitmap; 
    } 

Set code flou:

bmp = BitmapFactory.decodeStream(urlImage.openConnection().getInputStream()); 
bmp = blur(bmp); 
imgPost.setImageBitmap(bmp); 

Et Erro journal:

http://i.stack.imgur.com/sL2BT.jpg

Répondre

0

Par la ScriptIntrinsicBlur documentation, la classe a été ajouté dans l'API 17 et donc ne préexistent pas à cela. Vous pouvez utiliser le Renderscript Support Library pour accéder à Renderscript retour à API 8, y compris android.support.v8.renderscript.ScriptIntrinsicBlur

+0

Merci, Comment inclure support.v8? cette bibliothèque se termine dans 'build-tools \ android-4.4W \ rendererscript \ lib' –

+0

Les instructions de Gradle sont dans le lien fourni – ianhanniballake

+0

J'utilise eclipse. Peut-il l'utiliser? –