中易网

surfaceview 如何实现截图

答案:2  悬赏:50  
解决时间 2021-02-20 21:45
我写了一个简单的surfaceview的游戏框架。开启一个线程,不停地绘制。现在我想需要一个当前画面的截图。查了半天 没什么资料。有大神帮忙吗? 请不要回答类似以下的代码: mainBoard.setDrawingCacheEnabled(true); mainBoard.buildDrawingCache(); Bitmap bitmap = mainBoard.getDrawingCache();这个对于普通的view 还是可以的。但是surfaceview不行。另外在Iteye上有一个美女写了一个,需要导入jar包,但是给的jar包导入进去 也没什么反应 运行的还报错。请问有没有什么好的解决方案。谢谢了
最佳答案
学习中。。。
全部回答
对于surfaceview使用builddrawingcache是不行的可以通过surfaceholder来变通地截屏你在线程里面是否使用下面的方式不停地绘图canvas = mholder.lockcanvas(); if (canvas != null) { 把surfaceview的内容绘制到canvas 上 surfaceview.dodraw(canvas); mholder.unlockcanvasandpost(canvas);}有了这一点应该就比较好理解了,上面的canvas其实是绘制到屏幕上的,可以使用一个bitmap创建一个canvas,然后把surfaceview绘制到这个canvas上就行了bitmap bitmap = bitmap.createbitmap(getwidth(), getheight(), bitmap.config.argb_8888); canvas bitcanvas = new canvas(bitmap); surfaceview.dodraw(bitcanvas);
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
求一部我小学时候(96年前后)看过的一部电影
豫瑞巫山烤鱼武陟店在什么地方啊,我要过去处
疯狂猜成语 一心有一冰片
爱恬宠物医院旗舰店这个地址在什么地方,我要
阿拉伯数字的创造者是?
在漫展买c服要多少钱
谁有黄冈金牌之路单元期末八下数学答案?
盱眙县古桑街道古桑居民委员会这个地址在什么
工伤没写假条,医生开的假条还没休完就被公司
中成印务我想知道这个在什么地方
快捷驾驶员培训咨询服务部(佛山顺德)地址在哪
华为p8maxs闪光灯开启拍视频怎么只有一个闪光
超威电池(新建路)我想知道这个在什么地方
这两天心情忽高忽低不稳定,情绪很不稳定,一
PS背景模糊化加色调怎么弄
推荐资讯
一个故事中的问题
为什么我的电脑无法显示网页图片和贴吧视频和
梦见自己在房顶下去时大院里的梯子是两根电线
手机卡突然没信号没网络怎么回事
秋天的诗句都说秋
河北涿鹿县栾庄乡胥家窑村住的是什么样的房子
科苑高层停车场这个地址在什么地方,我要处理
尼桑轩逸加雨括器水入口在哪个位置?
英雄联盟冰泉,和三项可以一起出吗
“蒟蒻”这是一种什么水果?念什么?山东这地
天福寿衣店(三兴厚生小区西北)这个地址在什么
乃 这是个字的拼音怎么打的
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?