android调用截屏功能,调用安卓原生的截图功能
做app的时候经常会遇到头像上传截图这样的功能,截取一个图片网上有不少demo,很复杂,其实安卓本身就自带了一个强大好用的截图功能,比如更换壁纸的时候,你就会看到这个截图功能,下面是调用系统的截图功能来实现截取头像上传:
public void startPhotoZoom(Uri uri) {
Intent intent = new Intent("com.android.camera.action.CROP");
intent.setDataAndType(uri, "image/*");
//下面这个crop=true是设置在开启的Intent中设置显示的VIEW可裁剪
intent.putExtra("crop", "true");
// aspectX aspectY 是宽高的比例
intent.putExtra("aspectX", 1);
intent.putExtra("aspectY", 1);
// outputX outputY 是裁剪图片宽高
intent.putExtra("outputX", 150);
intent.putExtra("outputY", 150);
intent.putExtra("return-data", true);
startActivityForResult(intent, 3);
}
当选择完图片或者拍完照以后会得到一个uri传到onActivityResult()方法里面,然后就调用上面的函数,把uri传进来就可以跳转到截图的界面
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
switch (requestCode) {
// 如果是直接从相册获取
case 1:
startPhotoZoom(data.getData());
break;
// 如果是调用相机拍照时
case 2:
File temp = new File(Environment.getExternalStorageDirectory()
+ "/xiaoma.jpg");
startPhotoZoom(Uri.fromFile(temp));
break;
// 取得裁剪后的图片
case 3:
if(data != null){
setPicToView(data);
}
break;
default:
break;
}
super.onActivityResult(requestCode, resultCode, data);
}
截完图之后在onActivityResult()方法里面接收数据
private void setPicToView(Intent picdata) {
Bundle extras = picdata.getExtras();
if (extras != null) {
Bitmap photo = extras.getParcelable("data");
Drawable drawable = new BitmapDrawable(photo);
iv.setBackgroundDrawable(drawable);
}
}
在上面这个方法里将数据转成图片,然后就可以设置给ImageView了。
转载时请注明出处及相应链接,本文永久地址:https://blog.yayuanzi.com/1216.html
微信打赏
支付宝打赏
感谢您对作者wangbin的打赏,我们会更加努力! 如果您想成为作者,请点我
android调用截屏功能,调用安卓原生的截图功能相关推荐
- js截屏 video_canvas与html5实现视频截图功能
这段时间一直在研究canvas,突发奇想想做一个可以截屏视频的功能,然后把图片拉去做表情包,哈哈哈哈哈哈~~ 制作方法: 1.在页面中加载视频 在使用canvas制作这个截图功能时,首先必须保证页面上 ...
- android利用反射调用截屏api,Android利用反射机制调用截屏方法和获取屏幕宽高的方法...
想要在应用中进行截屏,可以直接调用 View 的 getDrawingCache 方法,但是这个方法截图的话是没有状态栏的,想要整屏截图就要自己来实现了. 还有一个方法可以调用系统隐藏的 screen ...
- android自动截图实现,Android实现截屏功能
原标题:Android实现截屏功能 该方法主要利用SDK提供的view.getDrawingCache()方法,主要步骤如下: 设置view.setDrawingCacheEnabled(true) ...
- Android实现截屏和截长图功能的几种方法
一般情况下各种型号的手机都会有自带的截屏功能,也会有诸如"开关机键+音量键"的截屏快捷键,只要手机是亮屏状态,都会将手机屏幕的可视区域(包含状态栏)全部截取下来. 如果开发中想要调 ...
- android 截长图 方法,Android实现截屏与截长图功能
本文实例为大家分享了Android实现截屏与截长图功能展示的具体代码,供大家参考,具体内容如下 Demo在GitHub的地址:ScreenShoot 在Android开发中,有时候会遇到需要截屏分享到 ...
- android 后台截屏代码,Android实现截图和分享功能的代码
先给大家展示下效果图吧 直接上代码: xml的布局: android:id="@+id/btn_jp" android:layout_marginTop="10dip&q ...
- Android系统截屏的实现(附代码)
1.背景 写博客快两年了,写了100+的文章,最火的文章也是大家最关注的就是如何实现android系统截屏.其实我们google android_screen_shot就会找到很对办法,但那些都是很多 ...
- Android实现截屏方式
本文介绍了Android 实现截屏方式整理,分享给大家.希望对大家有帮助 可能的需求: 截自己的屏 截所有的屏 带导航栏截屏 不带导航栏截屏 截屏并编辑选取一部分 自动截取某个空间或者布局 截取长图 ...
- Android 音视频开发(六) -- Android Mediaprojection 截屏和录屏
Android 音视频开发(一) – 使用AudioRecord 录制PCM(录音):AudioTrack播放音频 Android 音视频开发(二) – Camera1 实现预览.拍照功能 Andro ...
最新文章
- python代码大全表解释-【初学】Python异常代码含义对照表
- UA MATH571A R语言回归分析实践 多元回归2 医疗费用的决定
- Github 1.3万星,迅猛发展的JAX对比TensorFlow、PyTorch
- 解决点击MDI父窗体下拉菜单,子窗体重复出现的问题
- Maven将jar包install到本地仓库deploy到远程仓库命令
- lvs的调度算法有几种_LVS支持哪些调度算法?
- 立即更新 Chrome 浏览器!这个 0day 已遭在野利用
- 阿里开发者们的第15个感悟:做一款优秀大数据引擎,要找准重点解决的业务场景...
- 如何解决飞秋FeiQ绑定端口错误
- 猿创征文|网络安全的十大经典工具介绍
- 如何采集企业信息公示系统
- matlab与dsp程序,Matlab生成dsp程序——官方例程学习(4)
- FDS学习笔记(三)全局变量的设置
- Node.js 将MEGA网盘的指定目录下载并打包成ZIP
- NLP领域的机器阅读理解方向的数据集总结
- 苹果 WWDC21 发布会全汇总,iOS 15更个性化,全家桶协作更有生产力
- Model、Map、ModelMap的关系
- Shader攻占笔记(九)结课作业小记
- 【图像处理】HDF5 C++编程简介
- 地震--《孩子,快抓紧妈妈的手》