相信大家在工作都要用到获取手机图片的需求,今天给大家介绍一下,我在项目中学习到的获取图片的方法。
话不多说,上代码:

  1. 通过intent获取手机中所以的图片


    public static final int PHOTOZOOM = 2; // 缩放
    public static final int PHOTORESOULT = 3;// 结果
    public static final String IMAGE_UNSPECIFIED = "image/*";
    Intent intent = new Intent(Intent.ACTION_GET_CONTENT,
    null);
    intent.setDataAndType(
    MediaStore.Images.Media.EXTERNAL_CONTENT_URI,
    IMAGE_UNSPECIFIED);
    startActivityForResult(intent, PHOTOZOOM);

    2.onActivityResult方法

  @Override    protected void onActivityResult(int requestCode, int resultCode, Intent data) {        if (requestCode == PHOTOZOOM) {            startPhotoZoom(data.getData());            Uri uri = data.getData();            String[] pojo = { MediaStore.Images.Media.DATA };            @SuppressWarnings("deprecation")            Cursor cursor = managedQuery(uri, pojo, null, null, null);            if (cursor != null) {                int index = cursor                        .getColumnIndexOrThrow(MediaStore.Images.Media.DATA);                cursor.moveToFirst();                String path = cursor.getString(index);                if (path != null) {                    picPath = path;                }            }        }        // 处理结果        if (requestCode == PHOTORESOULT) {            Bundle bundle = data.getExtras();            if (bundle != null) {                Bitmap photo = bundle.getParcelable("data");                ByteArrayOutputStream stream = new ByteArrayOutputStream();                photo.compress(Bitmap.CompressFormat.JPEG, 75, stream);// (0-100)压缩文件//                icon.setImageBitmap(photo);            }            if (picPath == null) {                Toast.makeText(SendImageActivity.this, "未修改图片!", Toast.LENGTH_SHORT)                        .show();            } else {                final File file = new File(picPath);                Log.i("picPath", "******" + picPath);                if (file != null) {                    //在这的file就是你获取到的图片文件                }            }        }        super.onActivityResult(requestCode, resultCode, data);    }

3.图片缩放方法

public void startPhotoZoom(Uri uri) {        Intent intent = new Intent("com.android.camera.action.CROP");        intent.setDataAndType(uri, IMAGE_UNSPECIFIED);        intent.putExtra("crop", "true");        // aspectX aspectY 是宽高的比例        intent.putExtra("aspectX", 1);        intent.putExtra("aspectY", 1);        // outputX outputY 是裁剪图片宽高        intent.putExtra("outputX", 200);        intent.putExtra("outputY", 200);        intent.putExtra("return-data", true);        startActivityForResult(intent, PHOTORESOULT);    }

更多相关文章

  1. Android-- ArrayAdapter用法举例
  2. Android学习笔记(21):ImageView及其子类
  3. 一起学android之如何获取网络类型并判断是否可用(20)
  4. Android中的图像处理
  5. Android(安卓)实现多图分享到微信朋友圈
  6. Android中MPAndroidChart使用Demo
  7. Android(安卓)Developers:拖动和缩放
  8. 获取手机屏幕大小
  9. android wifi 点对点传输

随机推荐

  1. SDK大全2的读书笔记
  2. 如何使用SQLiteOpenHelper
  3. Androidz之clickable
  4. android混淆(Obfuscate)
  5. Android(安卓)threading
  6. [Android] 自定义Indeterminate Progress
  7. Android(安卓)自定义View 例子一
  8. 安卓动画研究
  9. Android(安卓)Designing for Performance
  10. Android图形系统(十三)-Vsync信号处理