调用手机相机拍照并返回图片
发布日期:2021-06-30 21:07:46
浏览次数:2
分类:技术文章
本文共 2699 字,大约阅读时间需要 8 分钟。
1.
手机Camera有两种使用功能:一是拍照 , 二是摄像
我们有两种使用方式:
一是手机系统自带的Camera实现
二是根据Camera API 自己写程序
2.
下面是讲调用系统的Camera进行拍照,并返回压缩照片的简单代码
import android.content.Intent;import android.graphics.Bitmap;import android.os.Bundle;import android.os.Environment;import android.provider.MediaStore;import android.support.v7.app.AppCompatActivity;import android.view.View;import android.widget.Button;import android.widget.TextView;import android.widget.Toast;import java.io.File;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;public class MainActivity extends AppCompatActivity { TextView show; Bitmap bitmap; FileOutputStream b; @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); //得到拍照的照片 bitmap = (Bitmap) data.getExtras().get("data"); String state = Environment.getExternalStorageState(); if (!state.equals(Environment.MEDIA_MOUNTED)){ show.setText("SD卡不可用"); }else { String extpath = Environment.getExternalStorageDirectory().getAbsolutePath(); File file = new File(extpath , "test.png"); try { if (file.exists()){ file.delete(); } file.createNewFile(); } catch (IOException e) { e.printStackTrace(); } try { b = new FileOutputStream(file.getAbsolutePath()); //把拍照所得图片数据写入图片文件 //记得手动开启权限,我没有动态申请权限 bitmap.compress(Bitmap.CompressFormat.PNG , 100 , b); } catch (FileNotFoundException e) { e.printStackTrace(); } finally { try { b.flush(); b.close(); Toast.makeText(this, "拍照完成,图片存在文件中", Toast.LENGTH_SHORT).show(); } catch (IOException e) { e.printStackTrace(); } } } } @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); show = (TextView) findViewById(R.id.show); Button takep = (Button) findViewById(R.id.takep); takep.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { //1.调用系统相机,拍照 Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); //在onActivityResult()处理 startActivityForResult(intent , 1); } }); }}
3.
这里是讲一个根据API 自己写到Camera拍照,解释在代码中都有
GITHUB地址:
转载地址:https://liuyan.blog.csdn.net/article/details/80641836 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
第一次来,支持一个
[***.219.124.196]2024年04月24日 20时32分08秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
bzoj 2844: albus就是要第一个出场(线性基)
2019-04-30
bzoj 2115: [Wc2011] Xor(DFS+线性基)
2019-04-30
bzoj 3811: 玛里苟斯(期望+线性基)
2019-04-30
bzoj 4568: [Scoi2016]幸运数字(树上倍增+线性基)
2019-04-30
bzoj 3781: 小B的询问(莫队)
2019-04-30
bzoj 2938: [Poi2000]病毒(AC自动机)
2019-04-30
bzoj 5094: 硬盘检测(概率)
2019-04-30
2017哈尔滨ACM CCPC-final 总结
2019-04-30
bzoj 4522: [Cqoi2016]密钥破解
2019-04-30
bzoj 2957: 楼房重建(线段树+递归)
2019-04-30
2018年全国多校算法寒假训练营练习比赛(第一场)C. 六子冲(模拟)
2019-04-30
2018年全国多校算法寒假训练营练习比赛(第一场)D. N阶汉诺塔变形(找规律)
2019-04-30
VS2012全屏背景修改教程
2019-04-30
bzoj 1122: [POI2008]账本BBB(优先队列+贪心)
2019-04-30
bzoj 1123: [POI2008]BLO(Trajan求割点)
2019-04-30
bzoj 3036: 绿豆蛙的归宿(Dp)
2019-04-30