读书人

获取系统照相机的图片并加入剪切功能

发布时间: 2013-01-06 15:44:47 作者: rapoo

获取系统相机的图片并加入剪切功能

package com.example.imagedemo001;import android.app.Activity;import android.content.Intent;import android.graphics.Bitmap;import android.os.Bundle;import android.provider.MediaStore;import android.view.Menu;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.ImageView;/** *  * 功能:调用Android系统的的照相功能,获取图片信息 <br /> * 日期:2012-12-26<br /> * 版本:ver 1.0<br /> *  * @author fighter * @since */public class Main extends Activity {/** 调用系统相机 */private final int TAKE_PICTURE = 1001;/* 将图片切割 */private final int FORMAT_PICTURE = 1003;private Button btnTake;private ImageView imgView;private OnClickListener btnClickListener;@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);this.initWidget();this.initParam();this.initBtnListener();}@Overridepublic boolean onCreateOptionsMenu(Menu menu) {getMenuInflater().inflate(R.menu.main, menu);return true;}@Overrideprotected void onActivityResult(int requestCode, int resultCode, Intent data) {if (TAKE_PICTURE == requestCode && RESULT_OK == resultCode&& null != data) {Bitmap bitmap = data.getParcelableExtra("data");if(null != bitmap){doCorpImage(bitmap);}}else if(FORMAT_PICTURE == requestCode && RESULT_OK == resultCode&& null != data){Bitmap bitmap = data.getParcelableExtra("data");if(null != bitmap){this.imgView.setImageBitmap(bitmap);}}super.onActivityResult(requestCode, resultCode, data);}private void initWidget() {this.btnTake = (Button) findViewById(R.id.btnTake);this.imgView = (ImageView) findViewById(R.id.imgView);}private void initParam() {this.btnClickListener = new BtnOnClickLisenerImpl();}private void initBtnListener() {this.btnTake.setOnClickListener(btnClickListener);}private void doCorpImage(Bitmap bm){Intent intent = getCropImageIntent(bm);startActivityForResult(intent, FORMAT_PICTURE);}/* * 格式后的参数... * */private Intent getCropImageIntent(Bitmap bm) {Intent intent = new Intent("com.android.camera.action.CROP");intent.setType("image/*");intent.putExtra("data", bm);intent.putExtra("crop", "true");intent.putExtra("aspectX", 1);intent.putExtra("aspectY", 1);intent.putExtra("outputX", 128);intent.putExtra("outputY", 128);intent.putExtra("return-data", true);return intent;}class BtnOnClickLisenerImpl implements OnClickListener {@Overridepublic void onClick(View v) {switch (v.getId()) {case R.id.btnTake:takePicture((Button) v);break;default:break;}}private void takePicture(Button btn) {Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);startActivityForResult(intent, TAKE_PICTURE);}}}

?

读书人网 >其他相关

热点推荐