Java 如何获取画布的当前位图?
我想获取与画布关联的当前位图,以便对其执行操作。但我不知道该怎么做 我看到过一些示例,其中您创建了一个位图并将画布设置为使用此位图,因此显然您可以稍后访问它,但我使用的是从SurfaceHolder返回的画布,因此没有构造函数 例如,示例经常显示这种情况:Java 如何获取画布的当前位图?,java,android,canvas,bitmap,Java,Android,Canvas,Bitmap,我想获取与画布关联的当前位图,以便对其执行操作。但我不知道该怎么做 我看到过一些示例,其中您创建了一个位图并将画布设置为使用此位图,因此显然您可以稍后访问它,但我使用的是从SurfaceHolder返回的画布,因此没有构造函数 例如,示例经常显示这种情况: Bitmap bmp = Bitmap.createBitmap(xxx, yyy, Bitmap.Config.ARGB_8888); Canvas c = new Canvas(bmp); 所以在这一点上我可以看到bmp 就我而言,
Bitmap bmp = Bitmap.createBitmap(xxx, yyy, Bitmap.Config.ARGB_8888);
Canvas c = new Canvas(bmp);
- 所以在这一点上我可以看到bmp
final SurfaceHolder holder = getSurfaceHolder();
Canvas c = null;
try {
c = holder.lockCanvas();
那么我怎样才能得到c的位图呢
编辑
@鲁本-你可能是对的,我真的很好奇。简言之,我的目标是捕捉我绘制“东西”的当前画布内容,并将其复制一份,反转放置在下面。就像一个倒影。我发现的这个例子都是通过位图实现的,所以我假设我需要以某种方式将当前画布捕获到位图中,然后使用它。如果有更好的办法,我会洗耳恭听的 c.getSurface()允许您直接访问曲面对象。迟到总比不迟到好:)
然后,您可以从BitmapDrawable重新访问位图
就我而言,我做到了:
setImageBitmap(bitmapDrawable.getBitmap()) 你想要位图做什么?怀疑你正在以错误的方式接近你试图做的事情…哦,酷-我从来没有完成过那个特定的项目,也许我会重新审视它,看看上面的内容是否有用!
BitmapDrawable bitDrawable = new BitmapDrawable();
bitmapDrawable.draw(videoView.getHolder().lockCanvas());