调用手机相机拍照并返回图片
发布日期: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秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章