做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调用截屏功能,调用安卓原生的截图功能相关推荐

  1. js截屏 video_canvas与html5实现视频截图功能

    这段时间一直在研究canvas,突发奇想想做一个可以截屏视频的功能,然后把图片拉去做表情包,哈哈哈哈哈哈~~ 制作方法: 1.在页面中加载视频 在使用canvas制作这个截图功能时,首先必须保证页面上 ...

  2. android利用反射调用截屏api,Android利用反射机制调用截屏方法和获取屏幕宽高的方法...

    想要在应用中进行截屏,可以直接调用 View 的 getDrawingCache 方法,但是这个方法截图的话是没有状态栏的,想要整屏截图就要自己来实现了. 还有一个方法可以调用系统隐藏的 screen ...

  3. android自动截图实现,Android实现截屏功能

    原标题:Android实现截屏功能 该方法主要利用SDK提供的view.getDrawingCache()方法,主要步骤如下: 设置view.setDrawingCacheEnabled(true) ...

  4. Android实现截屏和截长图功能的几种方法

    一般情况下各种型号的手机都会有自带的截屏功能,也会有诸如"开关机键+音量键"的截屏快捷键,只要手机是亮屏状态,都会将手机屏幕的可视区域(包含状态栏)全部截取下来. 如果开发中想要调 ...

  5. android 截长图 方法,Android实现截屏与截长图功能

    本文实例为大家分享了Android实现截屏与截长图功能展示的具体代码,供大家参考,具体内容如下 Demo在GitHub的地址:ScreenShoot 在Android开发中,有时候会遇到需要截屏分享到 ...

  6. android 后台截屏代码,Android实现截图和分享功能的代码

    先给大家展示下效果图吧 直接上代码: xml的布局: android:id="@+id/btn_jp" android:layout_marginTop="10dip&q ...

  7. Android系统截屏的实现(附代码)

    1.背景 写博客快两年了,写了100+的文章,最火的文章也是大家最关注的就是如何实现android系统截屏.其实我们google android_screen_shot就会找到很对办法,但那些都是很多 ...

  8. Android实现截屏方式

    本文介绍了Android 实现截屏方式整理,分享给大家.希望对大家有帮助 可能的需求: 截自己的屏 截所有的屏 带导航栏截屏 不带导航栏截屏 截屏并编辑选取一部分 自动截取某个空间或者布局 截取长图 ...

  9. Android 音视频开发(六) -- Android Mediaprojection 截屏和录屏

    Android 音视频开发(一) – 使用AudioRecord 录制PCM(录音):AudioTrack播放音频 Android 音视频开发(二) – Camera1 实现预览.拍照功能 Andro ...

最新文章

  1. python代码大全表解释-【初学】Python异常代码含义对照表
  2. UA MATH571A R语言回归分析实践 多元回归2 医疗费用的决定
  3. Github 1.3万星,迅猛发展的JAX对比TensorFlow、PyTorch
  4. 解决点击MDI父窗体下拉菜单,子窗体重复出现的问题
  5. Maven将jar包install到本地仓库deploy到远程仓库命令
  6. lvs的调度算法有几种_LVS支持哪些调度算法?
  7. 立即更新 Chrome 浏览器!这个 0day 已遭在野利用
  8. 阿里开发者们的第15个感悟:做一款优秀大数据引擎,要找准重点解决的业务场景...
  9. 如何解决飞秋FeiQ绑定端口错误
  10. 猿创征文|网络安全的十大经典工具介绍
  11. 如何采集企业信息公示系统
  12. matlab与dsp程序,Matlab生成dsp程序——官方例程学习(4)
  13. FDS学习笔记(三)全局变量的设置
  14. Node.js 将MEGA网盘的指定目录下载并打包成ZIP
  15. NLP领域的机器阅读理解方向的数据集总结
  16. 苹果 WWDC21 发布会全汇总,iOS 15更个性化,全家桶协作更有生产力
  17. Model、Map、ModelMap的关系
  18. Shader攻占笔记(九)结课作业小记
  19. 【图像处理】HDF5 C++编程简介
  20. 地震--《孩子,快抓紧妈妈的手》

热门文章

  1. linux 关闭系统中多余的服务
  2. 【转】大地测量系统和参考框架
  3. 视频剪辑软件调研(Corel VideoStudio 2018、爱剪辑、微剪辑)
  4. 万物互联,该怎么联?
  5. 打开 CMD 的方式+常用的Dos命令
  6. ftp服务器搭建随手记
  7. JVM 双亲委派机制(通俗易懂)
  8. word中字体大小(pt)和网页中css设置font-size时用的px大小对应关系
  9. vue仿美团饿了么,实现购物车功能
  10. 真香,如何关闭微信朋友圈的广告