声明:本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. 好玩!PyEcharts 绘制时间轮播图
  2. 【工具】ApkTools
  3. Java开发人员 2019 生态系统信息图
  4. c语言字符初始化怎么表示,C语言初始化字符串 怎么进行字符串赋值?C语言
  5. exit()和_exit()的区别
  6. [zz]为小米创建虚拟机路由器
  7. L1-043. 阅览室
  8. android for opencv (2) byte[] ,Bitmap 与 Mat 类型转换,Bitmap保存照片
  9. 信息与计算科学偏计算机的学校,信息与计算科学:披着计算机“外衣”的数学专业...
  10. Catfishcms v4.8.54环境搭建
  11. mysql中插入数据时Duplicate entry ‘‘ for key ‘PRIMARY‘的解决方案
  12. android logo 大小
  13. 美国大学计算机科学gpa,美国大学MS硕士平均GPA是多少分?
  14. 计算机视觉这个专业怎么样?
  15. Vscode开发STM32单片机程序
  16. 记忆存储程序使得计算机能够实现,2016年职称计算机考试模块综合试题及答案(4)...
  17. 计算机卡慢解决方法,电脑卡怎么办简单步骤 电脑慢怎么处理详细解决办法介绍...
  18. SQL注入AccessMysql
  19. VS: base path arguement is not fully qualified
  20. sequel pro 很卡

热门文章

  1. 以太坊用户体验的痛点
  2. 第四讲:详谈波分设备在双活方案中应用
  3. 树莓派实验室python人脸识别_使用树莓派进行简易人脸识别
  4. java map替换_在java的Map集合中,怎样更改value的值
  5. 算法问题:整数除法详解(Java方向)
  6. 中国工业级过氧化氢市场深度研究分析报告
  7. office2016下安装Mathtype之后显示DLL找不到的问题
  8. 【交互题+二分】Codeforces Round #516 E. Dwarves, Hats and Extrasensory Abilities
  9. gateway sentinel 熔断 不起作用_民熔小课堂|关于熔断器保险丝的知识扫盲!
  10. Cannot download sources Sources not found for:xxx解决方法汇总