# Android(Eclipse)——拍照(打开相机)+保存到本地+显示原图(不是压缩过的)
16lz
2021-01-25
原汁原味的图片(↑)与压缩图片(↓)的对比
权限设置
代码
public class MainActivity extends Activity {private String fileName="123",filePath="photo";private Bitmap bitmap;private ImageView iv;//声明一个全局变量,用做等下拍照获取的图片的路径private String caotureFile;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);iv = (ImageView)findViewById(R.id.imageView);findViewById(R.id.button2).setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {try {getImageFromCamera();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}});
#创建SD卡路径下的文件夹,保存图片
public void getImageFromCamera() throws IOException{//判断sd卡状态String sdState=Environment.getExternalStorageState();if (sdState.equals(Environment.MEDIA_MOUNTED)) {//打开相机Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);//获取sd卡目录,创建文件String SDPATH=Environment.getExternalStorageDirectory()+"/";//重点,这里是创建目录String filepath = SDPATH+"pthoto1/";caotureFile = filepath+System.currentTimeMillis()+".jpg";File file = new File(filepath);if(!file.exists())file.mkdirs();File caeatFile = new File(caotureFile);caeatFile.createNewFile();intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(new File(caotureFile)));startActivityForResult(intent, 1);}}
重点部分,将图片重新压缩
@Overrideprotected void onActivityResult(int requestCode, int resultCode, Intent data) {//判断调用者操作if (resultCode==RESULT_OK) {//获取图片,转化成bitmap格式bitmap = BitmapFactory.decodeFile(caotureFile,null);//把图片显示到你想要的图片标签上iv.setImageBitmap(bitmap);FileOutputStream fout = null;try {fout = new FileOutputStream(caotureFile);} catch (FileNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();}//把文件保存在本地的指定文件夹下bitmap.compress(Bitmap.CompressFormat.JPEG, 100, fout);break;}}}
更多相关文章
- Android拖动图片及多层图片叠加
- 【Android(安卓)开发教程】获取预设信息
- [RK3399][Android7.1] 调试笔记 --- 设置系统默认相机为1080p
- eclipse中跳转查看android类的源码
- 如何反编译android的apk文件得到资源文件
- Android(安卓)微信分享
- listView常用属性设置
- net :: ERR_CLEARTEXT_NOT_PERMITTED
- android studio 安装以及运行