微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

从视图android捕获位图

我发布了同样的问题,但它接近我的问题,这就是我第二次发布它的原因

嗨,我想从RelativeLayout捕获图像,因为我使用下面的代码

captureRelativeLayout.setDrawingCacheEnabled(true);
   bitmap = captureRelativeLayout.getDrawingCache(true).copy(
                Config.ARGB_8888,false);

问题是,当我开始活动并从那个时候从该视图中获取图像时它会正常工作,但如果我第二次使用它,图像不会被刷新,意味着每次我得到的是前一个位图.

现在,如果我关闭我的活动并且agian启动它,那么我将获得更新的图像,但不是第二次
:(有关更多信息,请查看
can’t share image properly android

解决方法

您应该在复制后销毁图形缓存,因此下次调用getDrawingCache()时将再次构建缓存.

代码如下所示:

captureRelativeLayout.setDrawingCacheEnabled(true);
bitmap = captureRelativeLayout.getDrawingCache(true).copy(Config.ARGB_8888,false);
captureRelativeLayout.destroyDrawingCache();

或者像这样,如果你不想启用标志:

captureRelativeLayout.buildDrawingCache(true);
bitmap = captureRelativeLayout.getDrawingCache(true).copy(Config.ARGB_8888,false);
captureRelativeLayout.destroyDrawingCache();

参考:https://groups.google.com/d/msg/android-developers/IkRXuMtOA5w/zlP6SKlfX-0J

原文地址:https://www.jb51.cc/android/309784.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐