android截屏代码:C++实现 示例代码在:

frameworks\base\services\surfaceflinger\tests\screencap\screencap.cpp

/*

* Copyright (C) 2010 The Android Open Source Project

*

* Licensed under the Apache License, Version 2.0 (the "License");

* you may not use this file except in compliance with the License.

* You may obtain a copy of the License at

*

*      http://www.apache.org/licenses/LICENSE-2.0

*

* Unless required by applicable law or agreed to in writing, software

* distributed under the License is distributed on an "AS IS" BASIS,

* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

* See the License for the specific language governing permissions and

* limitations under the License.

*/

#include

#include

#include

#include

#include

#include

#include

#include

using namespace android;

int main(int argc, char** argv)

{

if (argc != 2) {

printf("usage: %s path\n", argv[0]);

exit(0);

}

const String16 name("SurfaceFlinger");

sp composer;

getService(name, &composer);

getService(name, &composer);

sp heap;

uint32_t w, h;

PixelFormat f;

status_t err = composer->captureScreen(0, &heap, &w, &h, &f, 0, 0);

if (err != NO_ERROR) {

fprintf(stderr, "screen capture failed: %s\n", strerror(-err));

exit(0);

}

printf("screen capture success: w=%u, h=%u, pixels=%p\n",

w, h, heap->getBase());

printf("saving file as PNG in %s ...\n", argv[1]);

SkBitmap b;

b.setConfig(SkBitmap::kARGB_8888_Config, w, h);

b.setPixels(heap->getBase());

SkImageEncoder::EncodeFile(argv[1], b,

SkImageEncoder::kPNG_Type, SkImageEncoder::kDefaultQuality);

return 0;

}

编译后生成/system/bin/test-screencap

测试时终端输入test-screencap /mnt/sdcard/scapxx.png

可以看到SD卡生成截屏文件scapxx.png,默认大小为屏幕分辨率

如果想把这个功能写到自己的应用里

写个JNI,参考上面代码即可,但记得权限声明

/>

当然最好是系统级实现,响应某个组合键来截屏,像Android4.0

android开发截屏代码,android截屏代码:C++实现相关推荐

  1. android studio开发工具介绍,Android应用开发之Android开发工具介绍、Android Studio配置...

    本文将带你了解Android应用开发之Android开发工具介绍.Android Studio配置,希望本文对大家学Android有所帮助. 2.1   Android Studio配置 2.1.1 ...

  2. Android开发介绍(基于Android Studio软件)

    Android开发介绍(基于Android Studio软件) 关于Android开发,笔者走过一些弯路,因此今天总计了有关Android开发的一些内容和心得,希望对大家有所帮助.首先来一张安卓开发者 ...

  3. Android开发之在软件内录屏录画面,直接CV就能用

    关于Android开发录屏的资料,真的是很难找到那种拿来就能用的,不是付费专栏就是要积分才能下载源码,起不到任何帮助.我需要的是录制软件画面,找到的几个例子都是录制时返回桌面,然后弹出小窗口开始录制桌 ...

  4. android进度条课设报告,Android开发之进度条ProgressBar的示例代码

    说明 ProgressBar一般用于显示一个过程,例如数据加载过程,文件下载进度,音乐播放进度等. 默认形式ProgressBar 默认方式下,ProgressBar显示为圆形进度,循环转圈,不显示具 ...

  5. android开发分享到微信,Android开发之微信分享到好友,朋友圈(示例代码)

    3. 快速集成 第二步:配置AndroidManifest.xml 下面清单文件的配置是全部的,没有的平台就是不需要配置 1.添加权限 2.添加activity信息 (注意: tencent后面的ap ...

  6. 开发实践 | Android开发Zegbee 温度、气体采集系统(代码类)

    博主github:https://github.com/MichaelBeechan 博主CSDN:https://blog.csdn.net/u011344545 package com.socke ...

  7. Android开发自学笔记(基于Android Studio1.3.1)—1.环境搭建(转)

    一.引言    本套学习笔记的开发环境是Windows 10 专业版和Android Studio 的最新版1.3.1. Android Studio 是一个Android开发环境,基于Intelli ...

  8. Android开发之获取常用android设备参数信息

    如下图: 查看工具类:下载apk的方法缺少xutils库,可以自己添加xutils库 package com.mchsdk.paysdk.utils;import android.Manifest; ...

  9. 国内android开发之墙痛,Android面试题-机型适配之痛,例如三星、小米、华为、魅族等。...

    自定义控件 联网 工具 数据库 源码分析相关面试题 Activity相关面试题 Service相关面试题 与XMPP相关面试题 与性能优化相关面试题 与登录相关面试题 与开发相关面试题 与人事相关面试 ...

  10. Android开发技巧!高级Android晋升之View渲染机制,Android篇

    前言 众所周知,Xamarin应该是.net下的跨平台开发工具.2016年之前还处于收费状态,后被微软收购后开源.但似乎有个现象,开源后的Xamarin发展似乎有些停滞,而且维护Xamarin的团队又 ...

最新文章

  1. Docker用Commit给容器做快照
  2. python三:if...else
  3. [机器学习收藏] TensorFlow初学者必须了解的55个经典案例
  4. python相对路径下的shell_shell,python获取当前路径(脚本的当前路径) (aso项目记录)...
  5. HTML animate()动画更改多个元素背景颜色但不同时生效问题
  6. python 输出纯音频_Python如何录制系统音频(扬声器的输出)?
  7. 网页嵌入对象(图片、视频、网页)
  8. Vue+ElementUI项目使用webpack输出MPA【华为云分享】
  9. Hadoop 1.x和Hadoop 2.x,Hadoop 1.x局限性和Hadoop 2.x YARN优点之间的区别
  10. React:组件的生命周期
  11. 页面响应式布局时,网页图片不缩放
  12. 设计模式(6)——命令模式
  13. Retina 显示屏
  14. 服务器 多显卡 显示器,一台主机接多个显示器,居然有三种方法实现,提高工作效率的神器...
  15. xavier / acts-as-tree-with-dotted-ids
  16. html ul怎么去掉内边距,ul默认有内边距
  17. servlet的认识和了解(3)
  18. Spark 和 Python.sklearn:使用随机森林计算 feature_importance 特征重要性
  19. 数据挖掘知识点整理(期末复习版)
  20. 第十六章 - 垃圾回收相关概念

热门文章

  1. 博睿数据智能监测终端全面升级,计算能力强大、用户体验真实性高
  2. 拨测技术在哪些方面应用比较广泛?
  3. Ubuntu18.04 因断电开机报错:utmp处卡死
  4. CAD软件中如何统一文字字高?
  5. 焱融全闪存储轻松构建百亿私募量化投研平台
  6. 第三方应用调用高德地图
  7. 13,猜数字游戏,我有一个数,请您猜猜是多少?
  8. hdu计算机网络实验,计算机网络实验报告(杭电).doc
  9. 微信小程序之校园二手交易系统app毕业设计ssm
  10. Centos7.4安装Nginx实战