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 剪切图片 显示图片的一部分

android 剪切图片 显示图片的一部分
  • hakunamatata2008
  • hakunamatata2008
  • 2010年12月13日 22:47
  • 16238

安卓开发截取图片指定位置显示

imageView= (ImageView) findViewById(R.id.iv); try { inputStream= getAssets().open("fengjing.jpg");...
  • sinat_31302603
  • sinat_31302603
  • 2017年02月06日 15:55
  • 540

两种单例模式区别

第二种单例模式的实现思路,是在第一次使用该类对象的时候来才创建,这样的好处在于节省程序启动动时间和内存空间,如果程序运行过程中一直没有使用该类对象,则内存中不会创建该对象。而第一种方式在程序启动的时候...
  • xuanzeticai
  • xuanzeticai
  • 2014年10月27日 14:58
  • 403

莫比乌斯反演 两种形式

莫比乌斯反演在数论中占有重要的地位,许多情况下能大大简化运算。那么我们先来认识莫比乌斯反演公式。   定理:和是定义在非负整数集合上的两个函数,并且满足条件,那么我们得到结论   ...
  • u013044116
  • u013044116
  • 2015年10月22日 21:26
  • 801

Android中图形截取的方式介绍

在Android的应用中,有时候我们想只显示一部分图像,这时候就要求图形截图。 1、任意截取图像的方法,下面我们详细介绍一下android中的重要类——Bitmap public fina...
  • litianpeng1991
  • litianpeng1991
  • 2014年09月18日 09:53
  • 1752

android中实现从一个图片中截取一部分,在翻转,成一个圆形显示

效果图如下:MyView 类public class MyView extends View { Bitmap bmp; Paint paint = new Paint(); pu...
  • Dr_abandon
  • Dr_abandon
  • 2016年12月11日 13:06
  • 1539

单例模式的两种实现方式及区别

 1:类加载时进行对象的实例化:public class SingletonA {  //SingletonA的唯一实例 private static SingletonA instance = ne...
  • jun_yuner
  • jun_yuner
  • 2007年12月10日 16:55
  • 3453

Android 把视图转换为图片,截取屏幕

一、先来看看如何把视图转换为图片 view.setDrawingCacheEnabled(true); Bitmap viewBitmap = view.getDrawingCache();...
  • love_world_
  • love_world_
  • 2013年04月11日 22:18
  • 5364

android图片截取的两种方式

文章主要提供android系统上拍照图片截取和图片 选择截取 两种方式,适用于app头像选择等环境。 拍照截取 打开相机   Intent intent = ...
  • u010982006
  • u010982006
  • 2014年06月19日 21:51
  • 736

android实现图片按任意路径截取

使用 Android提供的Path实現图片的截取 重写View的onTouchEvent方法和onDraw方法,onTouchEvent负责实现截取路径的构件,onDraw进行刷新页面,重写View...
  • Tongseng
  • Tongseng
  • 2016年12月24日 17:44
  • 602
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:android图片截取的两种形式
举报原因:
原因补充:

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