android – 从自定义SurfaceView获取位图

前端之家收集整理的这篇文章主要介绍了android – 从自定义SurfaceView获取位图前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我在一个扩展表面视图并实现runnable的类中有这个代码
我能够使用该类基本上允许您使用不同的颜色等绘制到画布.我正在尝试获得一种方法,允许我在绘制图像后保存图像,这是方法.无论我做什么,我只是得到一个黑色的图像,没有任何东西.有任何想法吗?

我启用了缓存绘图

目标从自定义SurfaceView获取位图图像我已经用尽了在这里查看其他帖子的选项,但没有找到任何可行的工作.这是希望最近有一个新的解决方案.非常感谢

public Bitmap getImage() {
            Bitmap bitmap = Bitmap.createBitmap(this.getWidth(),this.getHeight(),Bitmap.Config.ARGB_8888);
            Canvas canvas = new Canvas(bitmap);
            this.draw(canvas);
            return bitmap;
        }

解决方法

只有你最后的评论才明白你的问题.在上面发布的代码中,您将返回返回位图.这将返回局部变量位图.这个局部变量是完全空白的.您可能正在绘制位图或将图像与代码中的其他位置相关联.但是上面代码中的位图实例是空白的,只是函数的本地.您不能指望它返回更新的最新位图.

现在,在您发表评论后,我用谷歌搜索获取当前表面视图的位图”,它引导我得到这个答案:Create Bitmap from SurfaceView

在那个问题中,它显然是通过扩展View而不是SurfaceView来解决的.图形缓存仅适用于View.

更新:按照以下教程.根据您粘贴的代码,不清楚错误是什么.绘制到SurfaceView需要做很多事情,我不确定你是否已经完成了这些,我不能要求每一个这样的缺失项目.我按照以下教程了解我的基本图形项目.你需要阅读它们,看看你是否遗漏了任何东西.

画布绘图教程:

Playing with Graphics in android所有部件.

Android 2D

猜你在找的Android相关文章