700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > Android拍照与相册选取图片

Android拍照与相册选取图片

时间:2019-07-02 07:12:36

相关推荐

Android拍照与相册选取图片

做过几次拍照,相册选取图片,但都记不住,这次发表个简单的保存下

private static final int PHOTO_GRAPH = 1;// 拍照private static final int PHOTO_ALBUM = 2; // 相册获取private static final String IMAGE_TYPE = "image/*";

1 public void takePhoto(){ 2 3 String SDState = Environment.getExternalStorageState(); 4 if(SDState.equals(Environment.MEDIA_MOUNTED)) 5 { 6 imgfileName = System.currentTimeMillis() + ".jpg"; 7 Intent intent = new Intent("android.media.action.IMAGE_CAPTURE"); 8 intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(new File( 9Environment.getExternalStorageDirectory(), imgfileName)));10 intent.putExtra(MediaStore.EXTRA_VIDEO_QUALITY, 0);11 startActivityForResult(intent, PHOTO_GRAPH);12 dialog.dismiss();13 }else{ 14 Toast.makeText(getThis(),"内存卡不存在", Toast.LENGTH_SHORT).show(); 15 } 16 }

拍照

//回调函数protected void onActivityResult(int requestCode, int resultCode, Intent data) {super.onActivityResult(requestCode, resultCode, data);if(resultCode == RESULT_OK){switch (requestCode) {case NONE:break;case PHOTO_GRAPH://拍照String myJpgPath = Environment.getExternalStorageDirectory()+"/"+imgfileName;if(ImageThumbnail.isFileExit(myJpgPath) == true){img_SFZ.setImageBitmap(ImageThumbnail.getImageThumbnail(myJpgPath, img_SFZ.getWidth(), img_SFZ.getHeight()));}break;case PHOTO_ALBUM://相册获取//照片的原始资源地址Uri originalUri = data.getData(); try {//获取图片的路径:String[] proj = {MediaStore.Images.Media.DATA}; cursor = managedQuery(originalUri, proj, null, null, null); //按我个人理解 这个是获得用户选择的图片的索引值int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA); cursor.moveToFirst();//最后根据索引值获取图片路径String imgPath = cursor.getString(column_index);if (ImageThumbnail.isFileExit(imgPath) == true) {img_SFZ.setImageBitmap(ImageThumbnail.getImageThumbnail(imgPath, img_SFZ.getWidth(), img_SFZ.getHeight()));}} catch (Exception e) {// TODO: handle exception}break;default:break;}}

/*** 图片压缩显示* @param imagePath* @param width* @param height* @return*/public static Bitmap getImageThumbnail(String imagePath, int width,int height) {Bitmap bitmap = null;BitmapFactory.Options options = new BitmapFactory.Options();options.inJustDecodeBounds = true;// 获取这个图片的宽和高,注意此处的bitmap为nullbitmap = BitmapFactory.decodeFile(imagePath, options);options.inJustDecodeBounds = false; // 设为 false// 计算缩放比int h = options.outHeight;int w = options.outWidth;int beWidth = w / width;int beHeight = h / height;int be = 1;if (beWidth < beHeight) {be = beWidth;} else {be = beHeight;}if (be <= 0) {be = 1;}options.inSampleSize = be;// 重新读入图片,读取缩放后的bitmap,注意这次要把options.inJustDecodeBounds 设为 falsebitmap = BitmapFactory.decodeFile(imagePath, options);// 利用ThumbnailUtils来创建缩略图,这里要指定要缩放哪个Bitmap对象bitmap = ThumbnailUtils.extractThumbnail(bitmap, width, height,ThumbnailUtils.OPTIONS_RECYCLE_INPUT);return bitmap;}

图片压缩显示

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。