android图片截取的两种形式

原创 2016年08月28日 18:44:21

android图片截取的两种方式

文章主要提供android系统上拍照图片截取和图片 选择截取 两种方式,适用于app头像选择等环境。微笑

拍照截取

打开相机

Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);

        startActivityForResult(intent,“自定义”);

截图

Intent intent = getCropImageIntent(data);

startActivityForResult(intent, “自定义”);

处理获取到的图片

public static Intent getCropImageIntent(Bitmap data) {

Intent intent = new Intent("com.android.camera.action.CROP");

intent.setType("image/*");

intent.putExtra("data", data);

intent.putExtra("crop", "true");

intent.putExtra("aspectX", 1);

intent.putExtra("aspectY", 1);

// intent.putExtra(“outputX”, 300);

// intent.putExtra(“outputY”, 300);

intent.putExtra("return-data", true);

intent.putExtra("outputFormat", "JPEG");

return intent;

}

取得数据

@Override

protected void onActivityResult(int requestCode, int resultCode, Intent data) {

// TODO Auto-generated method stub

switch(requestCode){

    // xxxxx

    Bitmap photo = data.getParcelableExtra("data");

}

}

选择截取

关键代码

Intent innerIntent = new Intent(Intent.ACTION_GET_CONTENT);

    innerIntent.putExtra("crop", "true");// 剪辑方框

    innerIntent.putExtra("aspectX", 1); // 放大和缩小  

    innerIntent.putExtra("aspectY", 1); // 如果aspectX和aspectY同时设置为相同值的话则为矩形

    innerIntent.setType("image/*"); // 查看类型 详细的类型在 com.google.android.mms.ContentType   



    tempFile=new File("/sdcard/"+Calendar.getInstance().getTimeInMillis()+".jpg"); // 以时间秒为文件名  

    File temp = new File("/sdcard/");//目录文件夹,如果不存在则创建  

    if (!temp.exists()) {  

        temp.mkdir();  

    }  

    innerIntent.putExtra("output", Uri.fromFile(tempFile));  //传入目标文件     

    innerIntent.putExtra("outputFormat", "JPEG"); //文件格式    



    Intent wrapperIntent = Intent.createChooser(innerIntent, "先择图片"); //开始 并设置标题  

    startActivityForResult(wrapperIntent, 1); // 设置返回 码为 1  与onActivityResult

//调用成功反回方法

@Override  

protected void onActivityResult(int requestCode, int resultCode, Intent data) {  

    super.onActivityResult(requestCode, resultCode, data);  

    switch (requestCode) {  

    case 1:  

// 这里处理逻辑

        break;  

    }  

}  

权限

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />  

<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />  
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

照相机获取图片的两种形式

从照相机或画廊中获取图片的两种形式,一种裁剪过后的图片路径,一种未经过处理的原图路径。...

android动画的两种形式,总结得还行

转戴 Tween Animation(渐变动画):通过对特定的对象做图像变换如平移、缩放、旋转、淡出/淡入等产生动画效果 Frame Animation(帧动画):创建一个Drawab...

android 退出程序三种方法及两种形式

没有eoe的账号,级别还太低,出门如何吹牛逼? 您需要 登录 才可以下载或查看,没有帐号?免费加入  x 在平常开发的过程中可以发现,很多开发者对于程序的退出都没有去认真的解决。一般要么是一个简单...
  • zxc123e
  • zxc123e
  • 2014年05月20日 11:36
  • 1381

android JNI 使用的两种形式 --自己实现c和调用第三方so库

1. 在调用JNI的工程中实现JNI代码 JNI调用,一般书上都会给你讲第一种形式,自己写JNI代码,,然后编译使用,在eclipse中  --项目--右键-   Android tools --添加...

Android开发之onClick事件的两种主要形式

第一种也是最常用的形式:通过为onClick事件添加监听器,来激发当按钮被单击时应该处理的事件。...

android 旋转木马 形式浏览图片

  • 2015年09月18日 15:14
  • 2.08MB
  • 下载

android 圆角图片的实现形式

compile 'com.android.support:appcompat-v7:24.0.0' compile 'com.makeramen:roundedimageview:2.2.1'...
  • forezp
  • forezp
  • 2016年08月19日 12:10
  • 11927

android activity以dialog形式展现,强大的原生!有图片

今天做项目,突然要用到在一个activity上浮现类似dialog的提示框 ,类似下面的东西,item中内容比较复杂,这时候用activty以dialog的形式展现出来比较好,当然用别的也行,比如po...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:android图片截取的两种形式
举报原因:
原因补充:

(最多只允许输入30个字)