Android简单的修剪图片 上传图片

来源:互联网 发布:什么是java线程池 编辑:程序博客网 时间:2024/04/27 14:53

手机客户端修剪图片并上传图片到服务端比较经常碰到,比如设置用户头像以及裁剪图像大小的功能,有打开相机拍照和选择相册2种,以下简单说下几个要点:

1.修剪图片

/** *拍照 */public static void photoGraph(Activity activity,Uri uri){Intent intent=new Intent(MediaStore.ACTION_IMAGE_CAPTURE);intent.putExtra(MediaStore.EXTRA_OUTPUT,uri);//设置SD卡读写权限intent.putExtra("outputFormat", Bitmap.CompressFormat.JPEG.toString());activity.startActivityForResult(intent,1);}/** * 选择相册 */public static void fromAlbum(Activity activity){Intent intent=new Intent(Intent.ACTION_PICK,MediaStore.Images.Media.INTERNAL_CONTENT_URI);//Intent.ACTION_GET_CONTENTintent.setType("image/*");//intent.putExtra("crop", "true");//intent.putExtra("aspectX", 1);//intent.putExtra("aspectY", 1);//intent.putExtra("outputX", 320);//intent.putExtra("outputY", 320);//intent.putExtra("return-data", true);//intent.putExtra("scale", true);//黑边//intent.putExtra("scaleUpIfNeeded", true);//黑边//intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(new File(Environment.getExternalStorageDirectory(),"/img.jpg")));//intent.putExtra("outputFormat", Bitmap.CompressFormat.JPEG.toString());activity.startActivityForResult(intent,2);}/** * 裁剪原始的图片 */public static void cropPhoto(Activity activity,Uri uri) {Intent intent = new Intent("com.android.camera.action.CROP");intent.setDataAndType(uri, "image/*");intent.putExtra("crop", "true");intent.putExtra("aspectX", 1);intent.putExtra("aspectY", 1);intent.putExtra("outputX", 320);intent.putExtra("outputY", 320);intent.putExtra("return-data", true);intent.putExtra("scale", true);//黑边intent.putExtra("scaleUpIfNeeded", true);//黑边activity.startActivityForResult(intent,3);}
@Overrideprotected void onActivityResult(int requestCode, int resultCode, Intent data) {if(requestCode==1&&resultCode==RESULT_OK){cropPhoto(this,uri);}if(requestCode==2&&resultCode==RESULT_OK){cropPhoto(this,data.getData());}if(requestCode==3){Bundle extras = data.getExtras();if(extras!=null){Bitmap bm = extras.getParcelable("data");imageview.setImageBitmap(bm);}}super.onActivityResult(requestCode, resultCode, data);}
2.上传图片

List list=new ArrayList();//存储上传的图片字符串for(int i=0;i<mlistImage.size();i++){byte[] bty = BitmapUtils.convertBitmap2Bytes(mlistImage.get(i));//自定义图片转byte[]list.add(Base64.encodeToString(bty, Base64.DEFAULT));//base64图片字符串}

 来    源:http://blog.csdn.net/a704755096/article/details/50619593 

旋转图片:http://blog.csdn.net/bd_zengxinxin/article/details/39697597

加背景框:http://blog.csdn.net/yanzi1225627/article/details/8622257

1 0