安卓调用系统相机拍照并返回,实现图片预览
安卓调用相机拍照并返回预览及相关类型换(略缩图,画质糊)原图预览参考传送门
- 一、demo预览
- 二、xml代码和activity简单代码描述。
- 三、顺便写几个转换工具方法吧
- 今年主要在忙新项目,安卓也有很一段时间没有写了。安卓相关的博客也没有更新,今天来简单分享一下一个小需求吧。
- 写在之后,由于此方法返回的道德bitmap是被压缩过的,预览图片会很糊,不满足需求固又尝试了一个新的办法拍照返回预览!
- 》》》安卓调用系统相机拍照并返回预览(原图预览)《《《
一、demo预览
先简单写一个demo,效果如图,点击拍照以后返回图片覆盖在指定位置。
点击拍照以后直接调用相机
拍照成功后返回显示预览
以上便是demo预览。
二、xml代码和activity简单代码描述。
布局文件代码:
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayoutxmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent"android:layout_height="match_parent"><LinearLayoutandroid:layout_width="match_parent"android:layout_height="match_parent"android:layout_marginTop="10sp"android:orientation="vertical"><ImageViewandroid:id="@+id/photoImageView"android:layout_width="match_parent"android:layout_height="400dp"android:layout_marginTop="10sp"android:layout_marginBottom="20sp"android:layout_weight="1"android:src="@drawable/boundary" /><Buttonandroid:id="@+id/takePhotoButton"android:layout_width="200sp"android:layout_height="wrap_content"android:layout_gravity="center"android:layout_weight="1"android:background="@drawable/button_shape"android:onClick="onTakePhotoButtonClicked"android:text="拍 照"android:textSize="23sp" /></LinearLayout>
</android.support.constraint.ConstraintLayout>
Activity代码:
//初始化activity@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.take_photo);photoImageView = (ImageView)findViewById(R.id.photoImageView);}//监听拍照按钮,点击拍照调用相机public void onTakePhotoButtonClicked(View v){Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);startActivityForResult(intent, 2);}@Overrideprotected void onActivityResult(int requestCode, int resultCode, Intent data) {if (requestCode == 2 && resultCode == RESULT_OK && null != data) {Bundle bundle = data.getExtras();//intent跳转携带参数返回,data转化成Bitmap,获得的是个略缩图photo = (Bitmap) bundle.get("data");//将预览图放进预览框photoImageView.setImageBitmap(photo);photoBytes = CommonCode.bitmapToByte(photo);}super.onActivityResult(requestCode, resultCode, data);}
以上便大功告成
三、顺便写几个转换工具方法吧
Bitmap旋转角度:
public static Bitmap rotateBitmap(Bitmap origin, float alpha) {if (origin == null) {return null;}int width = origin.getWidth();int height = origin.getHeight();Matrix matrix = new Matrix();matrix.setRotate(alpha);// 围绕原地进行旋转Bitmap newBM = Bitmap.createBitmap(origin, 0, 0, width, height, matrix, false);if (newBM.equals(origin)) {return newBM;}origin.recycle();return newBM;}
Bitmap转byte[]
public static byte[] bitmapToByte(Bitmap bitmap){int bytes = bitmap.getByteCount();ByteBuffer buf = ByteBuffer.allocate(bytes);bitmap.copyPixelsToBuffer(buf);return buf.array();}
最近忙着离职、工作交接和搬家,一直没时间来写博客了,今天遇到个简单的功能,简单分享记录下这个demo吧。希望对需要的小伙伴有所帮助!2020结束了,博主这边工作也算是告一段落了。现在已经2021了,希望小伙伴们在新的一年里升职加薪,技术进步!过几天来分享下前段时间遇到的面筋吧。
- 一直(只)不务正业的Java后端
安卓调用系统相机拍照并返回,实现图片预览相关推荐
- android相机保存文件为空,android 调用系统相机拍照,返回的data为null
最近做项目,需要拍照功能,于是就想简单的调用系统相机来完成这一需求(当然,如果想要个性化一点的,也可以自定义camera去实现,这里暂时不做). if(Environment.getExternalS ...
- 安卓调用系统相机拍照并且显示在ImageView上
并没有什么技术难点,只是在保存到sdCard的时候有一点小细节需要注意,所以写了这篇文章.代码很简单,就不解释什么了,直接贴上源码. public class TakePhotoActivity ex ...
- Android Q:调用系统相机拍照,并且获取图片
获取图片后上传可以看我这篇文章,封装好了后,只需要一个uri就行了 https://blog.csdn.net/qq_27454233/article/details/106661130 先说明And ...
- 安卓调用系统相机进行拍照
安卓调用系统相机进行拍照 调用系统相机进行拍照的话,步骤比较简单,分为两步 使用隐式Intent打开相机 在onActivityResult回调中对图片进行处理 (传回来的图片分为缩略图和原图,缩略图 ...
- android 相机拍照返回,Android6.0机型上调用系统相机拍照返回的resultCode值始终等于0的问题...
版权声明:本文为博主原创文章,未经博主允许不得转载. 正常情况下调用系统相机拍照: 如果拍照后点击的是"确定"图标,返回的resultCode = -1(Activity.RESU ...
- 安卓调用系统相机录像并上传到后端服务器
安卓调用系统相机录像并上传到后端服务器 写在前面 一.录像上传的思路 二.添加相关权限 三.按钮设置监听,调用相机录像并回调 1.按钮设置监听: 2.调用代码 3.回调代码(划重点奥) 最后的最后: ...
- android拍照保存到系统相册,调用系统相机拍照,并且保存到系统相册的一般套路...
最近遇到也一个需求:调用系统相机拍照,并且照片可以在系统相册显示. 关于照片显示在系统相册这个问题,因为安卓机型太多了,各大厂商都对原生系统进行了不同程度的定制,所以在一般情况下,有的手机会把图片直接 ...
- 解决三星调用系统相机拍照显示图片旋转90度横着的问题
最近项目有个功能是调用系统相机拍照上传图片的功能,发现别的手机都没有ok,只有三星的显示图片很明显是旋转了90度,横着的.后来百度了解是三星对android相机单独做了优化(android碎片化,各种 ...
- android 调用系统相机拍照 获取原图
博客源址:android 调用系统相机拍照 获取原图 博客时间:2013-04-23 11:08 好吧,为了这个问题又折腾了一整天.之前在网上找来的方法,如果在onActivityResult中直接用 ...
最新文章
- python 文案自动生成_Python自动化测试如何自动生成测试用例?
- 最强观战指南 | Python分析热门夺冠球队(附源代码)
- mysql 游标循环_mysql for循环遍历 游标用处
- 该功能仅支持Android5.0,Android 5.0 android:elevation适用于View,但不适用于Button?
- Individual
- MFC中获取任务栏大小
- 转:Chrome渲染分析之Timeline工具的使用
- pandas知识点(汇总和计算描述统计)
- ubuntu下vim与系统剪切板互相拷贝
- golang 示例测试example_go语言从例子开始之Example37.Go 状态协程
- wordpress靶机快速搭建
- 8首次登陆与线上求助
- Butterworth低通滤波器 Matlab实现
- 致CSDN读者的一些话:感恩这十年的陪伴,不负遇见,短暂消失
- 左耳听风——笔记一:如何学习
- css3和html5网站模板
- Linux平台上文件同步——rsync+inotify之实时同步
- css中zoom和scale
- [论文阅读笔记]Aladdin: Optimized Maximum Flow Management for Shared Production Clusters
- seatunnel 高性能分布式数据集成平台