声明:本blog是我自己写的,如果要转载,请注明:come from blog of niba!

chromium最终显示是在ContentView上,但通过硬件加速,渲染合成的网页之前是在surfaceview上的。

所以,实现chromium的截图可以通过SufraceView的截图去实现。

自己创建一个SurfaceView的子类,如下:

class ChromiumSurfaceView extends SurfaceView {

public ChromiumSurfaceView(Context context){

super(context);

}

@Override

public void onDraw(Canvas canvas) {

// We only need to draw to software canvases, which are used for taking screenshots.

if (canvas.isHardwareAccelerated()) return;

Bitmap bitmap = Bitmap.createBitmap(getWidth(), getHeight(),

Bitmap.Config.ARGB_8888);

if (nativeCompositeToBitmap(mNativeContentViewRenderView, bitmap)) {

canvas.drawBitmap(bitmap, 0, 0, null);

}

}

public void getBitmap(Canvas canvas){

this.onDraw(canvas);

}

}

通过方法getBitmap()间接去调用onDraw方法来实现将内容,进行绘制。

public void getScreenShot() {

Bitmap bitmap = Bitmap.createBitmap(getWidth(), getHeight(), Bitmap.Config.ARGB_8888);

Canvas bitCanvas = new Canvas(bitmap);

((ChromiumSurfaceView)mSurfaceView).getBitmap(bitCanvas);

try{

File file = new File("/data/data/com.hisense.goblin/test.jpeg");

FileOutputStream fos;

fos = new FileOutputStream(file);

bitmap.compress(Bitmap.CompressFormat.JPEG, 5, fos);

fos.close();

}catch(Exception e){

e.printStackTrace();

}

}

通过这个方法就可以实现截屏了。

关于SurfaceView的其他信息,可以参考其他的blog,网上讲的很多,这里不再赘述

原文:http://blog.csdn.net/u011882998/article/details/32708811

php调用chromium截图,chromium截图实现相关推荐

  1. php ffmpeg截图,PHP调用ffmpeg对视频截图并拼接脚本

    这篇文章主要介绍了PHP调用ffmpeg对视频截图并拼接脚本 PHP脚本调用ffmpeg对视频截图并拼接,供大家参考,具体内容如下 目前支持MKV,MPG,MP4等常见格式的视频,其他格式有待测试 1 ...

  2. python截图直接在内存里调用_python 使用win32api截图全解释

    1.获得应用窗口句柄 hwnd=win32gui.FindWindow(0,"窗口名字") 2.通过应用窗口句柄获得窗口DC hwndDC=win32gui.GetWindowDC ...

  3. Ubuntu中类似QQ截图的截图工具并实现鼠标右键菜单截图

    文章目录 简介: 安装: 设置快捷键: 实现鼠标右键菜单截图: 简介: 在Windows中用惯了强大易用的QQ截图,会不习惯Ubuntu中的截图工具. 软件名为火焰截图,功能类似QQ截图,可以设置快捷 ...

  4. 计算机截图工具无法运行,win10系统打开截图工具提示“截图工具当前未在计算机上运行”的解决办法...

    win10系统使用久了,好多网友反馈说win10系统打开截图工具提示"截图工具当前未在计算机上运行"的问题,非常不方便.有什么办法可以永久解决win10系统打开截图工具提示&quo ...

  5. wi ndows自带截图工具,win10自带截图工具怎么使用?win10用自带截图工具截图的方法...

    win10系统自带有一个截图工具,可以帮助大家快速截取屏幕内容,非常实用.虽然网上有很多第三方截图软件,但是还要下载,比较麻烦.虽然QQ和微信也有截图功能,但每次都要登录,比较麻烦.那么win10自带 ...

  6. mac截图快捷键+截图工具软件+方法教程

    苹果 的MAC电脑就是专 门 为办公人士以及作图人士所设计生产的,同时它的安全性以及它的屏幕分辨率非常高,因此苹果的MAC电脑深受人们的喜欢. 而苹果MAC为了可以方便人们的使用,它为人们优化了非常多 ...

  7. 谷歌浏览器怎么长截图怎么截_谷歌浏览器长截图怎么截图_chrome谷歌浏览器截长图的步骤-win7之家...

    大家在使用浏览器浏览网页的时候,有时候会想要将网页截取下来,可是如果使用平时用的截图工具的话,只能截取一部分而已,如果你使用的是谷歌chrome浏览器的话,就可以进行长截图了,那么谷歌浏览器长截图怎么 ...

  8. 调用摄像头_摄像头 | 浏览器调用摄像头并实现截图保存的效果

    ​为了在QT上实现打开摄像头,拍照等操作.就写了这个. 1. 写一个vue组件 先写一个vue的组件,其内容基本如下: <el-button type="primary" @ ...

  9. 调用Windows api 窗口截图

    分别调用windows api函数及CVI自带函数,完成对GRAPH界面的截图 界面设计如下图,右侧为graph控件的位置信息,调用API函数是完成对于选择窗口的固定位置进行截图,调用CVI自带函数则 ...

最新文章

  1. 韩顺平php程序员算法
  2. 【Unity 3D 游戏开发】Unity3D 入门 - 工作区域介绍 与 入门示例
  3. Spring--Redis入门集成配置
  4. mongodb 字符串 截取_Mongodb split字符串后分组统计
  5. android shell用户界面,shell界面下安装和卸载Android应用程序(apk包)
  6. 使用sax解析xml
  7. seata分布式事务一致性锁机制如何实现的
  8. Bugtags 实时跟踪插件 - BugtagsInsta
  9. 全国计算机等级考试网络版客户端,Sctest计算机等级考试系统网络版
  10. 在注视之外:对于认知和认知发展研究,眼动追踪还能揭示什么?
  11. python数据结构题目_python数据结构_递归python数据结构_python数据结构 面试题 - 云+社区 - 腾讯云...
  12. jsp中空格字符怎么写_jsp空格符号怎么打
  13. mongo命令行时间字段范围查询的坑
  14. NBUT 1451 Elise (暴力+并查集)
  15. 疫情下的春招实习历程
  16. 内大计算机学院研究生奖学金,计算机学院2020级硕士研究生学业奖学金评审结果公示...
  17. 分享一个统计 Android 模块构建时长的脚本工具
  18. windows模拟微信小程序_【原创】PC微信小程序包解密工具C#版无需root或模拟器
  19. 10款炫酷的HTML5动画特效,附源码
  20. MessageBox.Show用法

热门文章

  1. pytest报错 E ModuleNotFoundError解决办法
  2. 以友盟+U-Push为例,深度解读消息推送的筛选架构解决方案应用与实践
  3. 树莓派桌面多出个计算机,计算机实验室之树莓派:课程 7 屏幕02
  4. java设计四个按钮分别命名为,计算器 1.0
  5. 小程序css样式变量/api promise化
  6. 不用找,你想要的建筑场景游戏素材素材都在这里
  7. 开车,网吧,魔兽争霸,几天独特的生活体验
  8. instr()函数的格式
  9. 如果企业微信不用了怎么解绑手机?
  10. Linux LKM suterusu代码分析(一)