jeudi 9 avril 2015

Making an android image editor and i have an issue with handling my Bitmaps into variables

This is a part of my onActivity Result code. What i want to do is make a bitmap variable that i can modify everytime i press a button instead of modifying the ImageView(imagen) and not saving the changes that happen to the image.


When i try to change the btp_tmp variable inside the onClick code of the button it throws an error about btp_tmp being in an inner class and must be made final.


@Override protected void onActivityResult(int requestCode, int resultCode, Intent data) {



Bitmap btp_img = null;
InputStream in_stream;
Bitmap btp_tmp = null;



if (resultCode == Activity.RESULT_OK && requestCode == RCode)

{
//ARXIKO IMAGE
try {
if (btp_img != null) {
btp_img.recycle();
}
in_stream = getContentResolver().openInputStream(
data.getData());
btp_img = BitmapFactory.decodeStream(in_stream);
in_stream.close();

btp_tmp = btp_img;
imagen.setImageBitmap(btp_img);

//btn_seleccion.setText(getResources().getString(R.string.modifa));
} catch (IOException e) {
e.printStackTrace();
}

//NEGATIVE
//final boolean test = false;
final Bitmap finalBtp_img1 = btp_tmp;

//if (test == false){}
btp_tmp = btp_img;
Neg_button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//imagen.setImageBitmap(invert(finalBtp_img));
Negative neg = new Negative();
imagen.setImageBitmap(neg.invert(finalBtp_img1));
btp_tmp = neg.invert(finalBtp_img1);
}
});



//UNDO
final Bitmap finalBtp_imgUndo = btp_img;
eraser.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
imagen.setImageBitmap(finalBtp_imgUndo);
}
});

Aucun commentaire:

Enregistrer un commentaire