Cześć,
potrzebuję namiarów na jakiś tutorial albo bibliotekę, którą mógłbym zaimplementować, tak aby np. po naciśnięciu przycisku cały widok "blurował" się. Coś jak na poniższym screenie:
Próbowałem z poniższym skryptem, ale on działa tylko w stosunku do bitmapy i w bardzo małym zakresie blurowania (radius większy niż 25 wykrzacza aplikację)
package com.example.marcin.myapplication;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.Bundle;
import android.renderscript.Allocation;
import android.renderscript.Element;
import android.renderscript.RenderScript;
import android.renderscript.ScriptIntrinsicBlur;
import android.support.v7.app.ActionBarActivity;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.SeekBar;
import android.widget.SeekBar.OnSeekBarChangeListener;
import android.widget.TextView;
public class MainActivity extends AppCompatActivity {
ImageView image3;
Button button;
Bitmap bitmapOriginal;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
button = (Button) findViewById(R.id.button);
image3 = (ImageView) findViewById(R.id.image3);
bitmapOriginal = BitmapFactory.decodeResource(getResources(),
R.drawable.image3);
image3.setImageResource(R.drawable.image3);
}
private Bitmap createBitmap_ScriptIntrinsicBlur(Bitmap src, float r) {
Bitmap bitmap = Bitmap.createBitmap(
src.getWidth(), src.getHeight(),
Bitmap.Config.ARGB_8888);
RenderScript renderScript = RenderScript.create(this);
Allocation blurInput = Allocation.createFromBitmap(renderScript, src);
Allocation blurOutput = Allocation.createFromBitmap(renderScript, bitmap);
ScriptIntrinsicBlur blur = ScriptIntrinsicBlur.create(renderScript,
Element.U8_4(renderScript));
blur.setInput(blurInput);
blur.setRadius(r);
blur.forEach(blurOutput);
blurOutput.copyTo(bitmap);
renderScript.destroy();
return bitmap;
}
public void bluruj(View view) {
image3.setImageBitmap(createBitmap_ScriptIntrinsicBlur(bitmapOriginal, 25.0f));
}
}
Znalazłem jeszcze coś takiego: http://allegro.tech/2015/08/android-fogger.html
ale nie wiem jak to zastosować do swojego projektu. Może ktoś, coś?
Dzięki!