广告
返回顶部
首页 > 资讯 > 移动开发 >Android实现拍照截图功能
  • 787
分享到

Android实现拍照截图功能

Android 2022-06-06 09:06:01 787人浏览 泡泡鱼
摘要

本文将向大家展示如何拍照截图。 先看看效果图: 拍照截图有点儿特殊,要知道,现在的Android智能手机的摄像头都是几百万的像素,拍出来的图片都是非常大的。因此,我们不能像对

本文将向大家展示如何拍照截图。

先看看效果图:

拍照截图有点儿特殊,要知道,现在的Android智能手机的摄像头都是几百万的像素,拍出来的图片都是非常大的。因此,我们不能像对待相册截图一样使用Bitmap小图,无论大图小图都统一使用Uri进行操作。

一、首先准备好需要使用到的Uri:


private
static 
final 
String IMAGE_FILE_LOCATioN = "file:///sdcard/temp.jpg";//temp
 file
Uri
 imageUri = Uri.parse(IMAGE_FILE_LOCATION);//The
 Uri to store the big bitmap

二、使用MediaStore.ACTION_IMAGE_CAPTURE可以轻松调用Camera程序进行拍照:


Intent
 intent = new
Intent(MediaStore.ACTION_IMAGE_CAPTURE);//action
 is capture
intent.putExtra(MediaStore.EXTRA_OUTPUT,
 imageUri);
startActivityForResult(intent,
 TAKE_BIG_PICTURE);//or
 TAKE_SMALL_PICTURE

三、接下来就可以在 onActivityResult中拿到返回的数据(Uri),并将Uri传递给截图的程序。


switch
(requestCode) {
case
TAKE_BIG_PICTURE:
  Log.d(TAG,
"TAKE_BIG_PICTURE:
 data = " 
+ data);//it
 seems to be null
  //TODO
 sent to crop
  cropImageUri(imageUri,
800,
400,
 CROP_BIG_PICTURE);
  break;
case
TAKE_SMALL_PICTURE:
  Log.i(TAG,
"TAKE_SMALL_PICTURE:
 data = " 
+ data);
  //TODO
 sent to crop 
  cropImageUri(imageUri,
300,
150,
 CROP_SMALL_PICTURE);
  break;
default:
  break;
}

可以看到,无论是拍大图片还是小图片,都是使用的Uri,只是尺寸不同而已。我们将这个操作封装在一个方法里面


private
void 
cropImageUri(Uri uri, int
outputX, int
outputY, int
requestCode){
  Intent
 intent = new
Intent("com.android.camera.action.CROP");
  intent.setDataAndType(uri,
"image/*");
  intent.putExtra("crop",
"true");
  intent.putExtra("aspectX",
2);
  intent.putExtra("aspectY",
1);
  intent.putExtra("outputX",
 outputX);
  intent.putExtra("outputY",
 outputY);
  intent.putExtra("scale",
true);
  intent.putExtra(MediaStore.EXTRA_OUTPUT,
 uri);
  intent.putExtra("return-data",
false);
  intent.putExtra("outputFORMat",
 Bitmap.CompressFormat.JPEG.toString());
  intent.putExtra("noFaceDetection",
true);
//
 no face detection
  startActivityForResult(intent,
 requestCode);
}


 

四、最后一步,我们已经将数据传入裁剪图片程序,接下来要做的就是处理返回的数据了:


switch
(requestCode) {
case
CROP_BIG_PICTURE://from
 crop_big_picture
  Log.d(TAG,
"CROP_BIG_PICTURE:
 data = " 
+ data);//it
 seems to be null
  if(imageUri
 != null){
    Bitmap
 bitmap = decodeUriAsBitmap(imageUri);
    imageView.setImageBitmap(bitmap);
  }
  break;
case
CROP_SMALL_PICTURE:
  if(imageUri
 != null){
    Bitmap
 bitmap = decodeUriAsBitmap(imageUri);
    imageView.setImageBitmap(bitmap);
  }else{
    Log.e(TAG,
"CROP_SMALL_PICTURE:
 data = " 
+ data);
  }
  break;
default:
  break;
}

以上就是Android实现拍照截图功能的方法,希望对大家的学习有所帮助。

您可能感兴趣的文章:Android实现全屏截图或长截屏功能Android给scrollView截图超过屏幕大小形成长图Android 后台生成长图并分享示例(非长截图)Android中如何获取视频文件的截图、缩略图详解有关Android截图与录屏功能的学习Android实现截图和分享功能的代码Android截屏截图的几种方法总结Android实现长图文截图功能实例代码


--结束END--

本文标题: Android实现拍照截图功能

本文链接: https://www.lsjlt.com/news/25844.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Android实现拍照截图功能
    本文将向大家展示如何拍照截图。 先看看效果图: 拍照截图有点儿特殊,要知道,现在的Android智能手机的摄像头都是几百万的像素,拍出来的图片都是非常大的。因此,我们不能像对...
    99+
    2022-06-06
    Android
  • Android实现拍照截取和相册图片截取
    关于拍照截取和相册截取,看了网上很多资料,自己整理了一份比较详细的,供有需要的人参考 1  拍照 原理就是通过intent调用系统的相机,拍完照在回调进行操作,成功...
    99+
    2022-06-06
    图片 Android
  • Android实现手机拍照功能
    本文实例为大家讲解如何轻松实现Android手机拍照功能,分享给大家供大家参考。具体如下: 一、布局文件main.xml <?xml version="1.0...
    99+
    2022-06-06
    手机 Android
  • Android中怎么实现拍照功能
    这期内容当中小编将会给大家带来有关Android中怎么实现拍照功能,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。解析:1)判断是否有摄像头checkCameraHardware(this) 2)获得相机c...
    99+
    2023-05-30
    android
  • Android实现拍照、选择图片并裁剪图片功能
    一、 实现拍照、选择图片并裁剪图片效果 按照之前博客的风格,首先看下实现效果。      二、 uCrop项目应用 想起之前看到的Yalant...
    99+
    2022-06-06
    选择 图片 Android
  • Android实现拍照、选择相册图片并裁剪功能
    通过拍照或相册中获取图片,并进行裁剪操作,然后把图片显示到ImageView上。  当然也可以上传到服务器(项目中绝大部分情况是上传到服务器),参考网上资料及结合项目...
    99+
    2022-06-06
    选择 图片 Android
  • 【Android】使用 CameraX 实现基础拍照功能
    目录 1. 基础开发环境 2. 添加相关依赖 3. APP 布局 4. 主流程逻辑 5. 调试或安装 APK 6. 项目完整代码 1. 基础开发环境 JDK:JDK17 Android Studio:Android Studio ...
    99+
    2023-10-10
    android
  • Android自定义Camera实现拍照小功能
    本文实例为大家分享了Android自定义Camera实现拍照的具体代码,供大家参考,具体内容如下 本篇文章就项目开发遇到问题记录下; 1.拍照图片被压缩问题2.拍照图片被旋转问题 首...
    99+
    2022-11-13
  • android实现手机App实现拍照功能示例
    实现手机App实现拍照功能结果如下 第一步: activity_takephoto.xml布局用SurfaceView <?xml version=...
    99+
    2022-06-06
    手机app 示例 app Android
  • Android仿微信选择图片和拍照功能
    本文实例为大家分享了 Android微信选择图片的具体代码,和微信拍照功能,供大家参考,具体内容如下 1.Android6.0系统,对于权限的使用都是需要申请,选择图片和拍照...
    99+
    2022-06-06
    选择 图片 Android
  • html5如何实现拍照功能
    这篇文章将为大家详细讲解有关html5如何实现拍照功能,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。 1、 视频流 HTML5 The Media Capture A...
    99+
    2022-10-19
  • Android仿微信发表说说实现拍照、多图上传功能
    本文实例为大家分享了Android仿微信发表说说、心情功能,供大家参考,具体内容如下 既能实现拍照,选图库,多图案上传的案例,目前好多App都有类似微信朋友圈的功能,能过发表说...
    99+
    2022-06-06
    Android
  • Android自定义相机实现定时拍照功能
    这篇博客为大家介绍Android自定义相机,并且实现倒计时拍照功能。 首先自定义拍照会用到SurfaceView控件显示照片的预览区域,以下是布局文件: activity_...
    99+
    2022-06-06
    相机 Android
  • Android怎么自定义Camera实现拍照小功能
    这篇文章主要介绍“Android怎么自定义Camera实现拍照小功能”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Android怎么自定义Camera实现拍照小功能”文章能帮助大家解决问题。首先实现...
    99+
    2023-06-30
  • Android 实现调用系统照相机拍照和录像的功能
    本文实现android系统照相机的调用来拍照 项目的布局相当简单,只有一个Button: <RelativeLayout xmlns:android="http://s...
    99+
    2022-06-06
    调用 系统 相机 Android
  • Android4.4 WebAPI实现拍照上传功能
    网上有很多关于拍照上传的实现方法,如果用新版本android去运行有可能会发现根本实现不了。主要原因是android从4.4版本开始通过intent.ACTION_GET_CO...
    99+
    2022-06-06
    webapi Android
  • html5拍照功能的实现方法
    这篇文章主要介绍“html5拍照功能的实现方法”,在日常操作中,相信很多人在html5拍照功能的实现方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”html5拍照功能的实现...
    99+
    2022-10-19
  • 利用Java+OpenCV实现拍照功能
    由于项目需要拍照,看了好多的资料不是C语言的就是python,开始用的JavaCv但是有好多问题,所以改成了OpenCv 只能硬着上了,查了好的网上的资料,终于找到了 依赖jar包:...
    99+
    2022-11-12
  • Android实现拍照及图片显示效果
    本文实例为大家分享了Android拍照及图片显示的具体代码,供大家参考,具体内容如下 1、功能声明 当应用需要使用相机、NFC等外设时,需要在AndroidManifest...
    99+
    2022-06-06
    图片 Android
  • Android如何实现拍照及图片裁剪
    这篇文章主要介绍Android如何实现拍照及图片裁剪,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!最近做项目中涉及到了图片相关功能 ,在使用安卓6.0手机及7.1手机拍照时,遇到了因权限及文件管理导致程序崩溃等问题。...
    99+
    2023-05-30
    android6.0
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作