制作一个 android 图像编辑器,我在将位图处理为变量时遇到问题
Making an android image editor and i have an issue with handling my Bitmaps into variables
这是我的 onActivity 结果代码的一部分。我想要做的是制作一个位图变量,每次按下按钮时我都可以修改它,而不是修改 ImageView(imagen) 并且不保存图像发生的更改。
当我尝试更改按钮的 onClick 代码中的 btp_tmp 变量时,它会抛出一个关于 btp_tmp 位于内部 class 中的错误,必须将其设置为最终变量。
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);
}
});
我找到了解决方案。我做的错误是我没有在 Main Activity Class 中声明临时变量,所以每次我在 OnActivity 部分使用变量时都会出错代码。
肯定是菜鸟犯的错误。
这是我的 onActivity 结果代码的一部分。我想要做的是制作一个位图变量,每次按下按钮时我都可以修改它,而不是修改 ImageView(imagen) 并且不保存图像发生的更改。
当我尝试更改按钮的 onClick 代码中的 btp_tmp 变量时,它会抛出一个关于 btp_tmp 位于内部 class 中的错误,必须将其设置为最终变量。
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);
}
});
我找到了解决方案。我做的错误是我没有在 Main Activity Class 中声明临时变量,所以每次我在 OnActivity 部分使用变量时都会出错代码。
肯定是菜鸟犯的错误。