gpt4 book ai didi

android - 图像和buildDrawingCache

转载 作者:行者123 更新时间:2023-11-29 01:42:57 25 4
gpt4 key购买 nike

我有 imageView1,我想把它变成位图并发送到以前的 Activity ,所以我的代码是:

    imageView1.buildDrawingCache();
Bitmap bm=imageView1.getDrawingCache();
int bytes = bm.getWidth()*bm.getHeight()*4;
ByteBuffer buffer = ByteBuffer.allocate(bytes);
bm.copyPixelsToBuffer(buffer);
final byte[] array = buffer.array();

但是我得到了:

04-25 17:45:55.959: E/AndroidRuntime(7066): Caused by: java.lang.NullPointerException

我不知道我是否可以这样使用 drawingCache。

最佳答案

假设您有一个名为 ChildActivity 的 Activity ,您在其中使用了 imageView1,
而不是这样声明:

ImageView imageView1;

做:

protected static ImageView imageView1 = null;

这必须在最高范围级别完成,在类声明部分,以便在任何方法之外可见。

然后,假设您有一个名为 ParentActivity 的 Activity ,您希望在其中使用 imageView1 的图形,
您可以通过在 Activity 名称前添加 imageView1 控件来引用它:

Bitmap bmp = ((BitmapDrawable) ChildActivity.imageView1.getDrawable()).getBitmap();

关键特征是:ChildActivity.imageView1

我在另一个 Activity 中引用了 ImageView。
而且我不必为在 Activity 之间传递位图而烦恼。

它比您尝试做的更安全并且(我猜)更快。

关于android - 图像和buildDrawingCache,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23297760/

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