安卓开启照相机并保存本地显示高清照片

编程入门 行业动态 更新时间:2024-10-24 10:21:56

安卓开启<a href=https://www.elefans.com/category/jswz/34/1762013.html style=照相机并保存本地显示高清照片"/>

安卓开启照相机并保存本地显示高清照片

1.activity_main.xml先对界面进行布局:

先上图:

<LinearLayout xmlns:android=""xmlns:app=""xmlns:tools=""android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"android:layout_gravity="center"android:gravity="center"><com.makeramen.roundedimageview.RoundedImageViewandroid:id="@+id/ImageView01"android:scaleType="centerCrop"android:layout_width="200dp"android:layout_height="200dp"android:src="@mipmap/tx"app:riv_oval="true"app:riv_corner_radius="100dp"/><Buttonandroid:id="@+id/button1"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_alignLeft="@+id/ImageView01"android:layout_alignParentBottom="true"android:layout_marginBottom="83dp"android:text="拍照" /></LinearLayout>

圆形头像框的RoundedImageView的使用:

MainActivity:
package youli.example.administrator.my_camera_demo;import android.app.Activity;
import android.content.Intent;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.Uri;
import android.os.Bundle;
import android.os.Environment;
import android.provider.MediaStore;
import android.support.annotation.Nullable;
import android.support.v7.app.AppCompatActivity;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;import com.makeramen.roundedimageview.RoundedImageView;import java.io.File;
import java.io.IOException;public class MainActivity extends AppCompatActivity {private Button btn1;private RoundedImageView image;private File currentImageFile = null;private Bitmap img;private String path;private File sdCardDir = null;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);initView();}private void initView() {btn1 = findViewById(R.id.button1); //拍照image = findViewById(R.id.ImageView01); //显示照片//        img = BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher_background);
//
//        image.setImageBitmap(img);if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) {sdCardDir = Environment.getExternalStorageDirectory();//获取SDCard目录}btn1.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View view) {File dir = new File(sdCardDir + "/LLWDCZ/lxd_ck/");dir.mkdirs();currentImageFile = new File(dir, "ck.jpg");path = currentImageFile.getPath();Log.e("QWE", path + "显示路径");if (!currentImageFile.exists()) {try {currentImageFile.createNewFile();} catch (IOException e) {e.printStackTrace();}}Intent it = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);it.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(currentImageFile));startActivityForResult(it, Activity.DEFAULT_KEYS_DIALER);}});}@Overrideprotected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {super.onActivityResult(requestCode, resultCode, data);img = getBitemapFromFile(path);image.setImageBitmap(img);}//根据路径来寻找图片并把图片转为Bitmap形式(重要)@SuppressWarnings("deprecation")public static Bitmap getBitemapFromFile(String fileName) {BitmapFactory.Options opt = new BitmapFactory.Options();opt.inPreferredConfig = Bitmap.Config.RGB_565;opt.inPurgeable = true;opt.inInputShareable = true;opt.inSampleSize = 2;try {return BitmapFactory.decodeFile(fileName, opt);} catch (Exception ex) {return null;}}}

最后别忘了权限:在AndroidManifest文件中加入:

 <!-- 在SDCard中创建与删除文件权限 --><uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/><!-- 往SDCard写入数据权限 --><uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/><uses-feature android:name = "android.hardware.camera" /><uses-feature android:name = "android.hardware.camera.autofocus" /><uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>

OK,欢迎留言

更多推荐

安卓开启照相机并保存本地显示高清照片

本文发布于:2024-02-13 04:40:08,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1690721.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:照相机   并保存   照片   高清

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!