I want to use the selected image to set the button with its effect, before clicking on it, and then click on the effect, it applies the same image to ImageView, but as it is, use the default image, not the selected image .
imgView = (ImageView) findViewById(R.id.imgView);
btnSepia = (ImageButton) findViewById(R.id.btnSepia);
BitmapDrawable abmp = (BitmapDrawable) imgView.getDrawable();
bmp = abmp.getBitmap();
mProgress = (ProgressBar) findViewById(R.id.progressBar);
mProgress.setVisibility(View.INVISIBLE);
Intent i = new Intent(
Intent.ACTION_GET_CONTENT,
android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
i.setType("image/");
startActivityForResult(i, RESULT_LOAD_IMAGE);
final Drawable resSepia = new BitmapDrawable(getResources(), bmp);
imgView.setImageDrawable(resSepia);
Handler handler = new Handler();
final Runnable r = new Runnable() {
@Override
public void run() {
if (resSepia == null)
return;
final ColorMatrix matrixA = new ColorMatrix();
matrixA.setSaturation(0);
final ColorMatrix matrixB = new ColorMatrix();
matrixB.setScale(1f, .95f, .82f, 1.0f);
matrixA.setConcat(matrixB, matrixA);
final ColorMatrixColorFilter filter = new ColorMatrixColorFilter(matrixA);
resSepia.setColorFilter(filter);
btnSepia.setImageDrawable(resSepia);
}
};
handler.postDelayed(r, 1000);
btnSepia.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
imgView.setImageDrawable(resSepia);
}
});
thank();
Sorry for my English, this is not my native language.
source
share