gpt4 book ai didi

android - 将更改后的图像发送到另一个 Android Activity

转载 作者:行者123 更新时间:2023-11-30 02:18:55 25 4
gpt4 key购买 nike

我在将图像从 imageView 发送到另一个 Activity 时遇到问题。我的代码运行良好,但仅适用于发送代码中给出的图像而无需更改。我在照片上添加了过滤器,我需要发送带有此更改的图像。这是我的代码:

第一个 Activity :

public void send(View view) {
//trzeba tu coś wymyslić żeby dodawało np tag żeby wiedziec jaka obraz ma nazwe
//i wstawić do tego niżej
Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.i);
ByteArrayOutputStream baos = new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.JPEG, 100, baos);
byte[] b = baos.toByteArray();

Intent intent = new Intent(this, TwoActivity.class);
intent.putExtra("picture", b);
startActivity(intent);
}

下一个 Activity :

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_two);

Bundle extras = getIntent().getExtras();
byte[] b = extras.getByteArray("picture");
Bitmap bmp = BitmapFactory.decodeByteArray(b, 0, b.length);
ImageView image = (ImageView) findViewById(R.id.imageView1);
image.setImageBitmap(bmp);
}

请告诉我应该如何更改才能正确发送更改后的图像?

最佳答案

之所以相同,是因为您只是从资源中传递图像;不是任何编辑。

既然听起来您想从 View 中获取编辑后的图像,您可以轻松获取其绘图缓存并使用它。

public void send(View view) {
Bitmap bitmap = getFromCache(view);
ByteArrayOutputStream baos = new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.JPEG, 100, baos);
byte[] b = baos.toByteArray();

Intent intent = new Intent(this, TwoActivity.class);
intent.putExtra("picture", b);
startActivity(intent);
}

private Bitmap getFromCache(View view){
view.setDrawingCacheEnabled(true);
Bitmap bitmap = Bitmap.createBitmap(view.getDrawingCache()); // Make sure to call Bitmap.createBitmap before disabling the cache, as the Bitmap will be recycled once it is disabled again
view.setDrawingCacheEnabled(false);
return bitmap;
}

关于android - 将更改后的图像发送到另一个 Android Activity ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28885629/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com