android – 从自定义SurfaceView获取位图

这篇文章主要介绍android – 从自定义SurfaceView获取位图, 对于目前你搜索查找的问题还是具有很好的参考价值,希望编程之家小编整理的这个内容对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教。

编程之家(jb51.cc)小编说:我在一个扩展表面视图并实现runnable的类中有这个代码 我能够使用该类基本上允许您使用不同的颜色等绘制到画布.我正在尝试获得一种方法,允许我在绘制图像后保存图像,这是方法.无论我做什么,我只是得到一个黑色的图像,没有任何东西.有任何想法吗? 我启用了缓存绘图 目标从自定义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开发中获得屏幕的宽度和高度还是比较常用的,在网上找...
本次课程表应用功能非常丰富,而且非常实用,可以添加学期的...
Frida-Dexdump 脱壳工具下载使用以及相关技术介绍
实现注册界面的布局效果,包含用户名,密码,忘记密码,登录...
Android App开发实战之实现微信记账本功能(附源码 超详细必...
前言首先看一下小米中的加载动画是怎么样的,恩恩~~~~虽...