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; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); this.initWidget(); this.initParam(); this.initBtnListener(); } @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.main, menu); return true; } @Override protected 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 { @Override public 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); } } }
获取系统相机的图片并加入剪切功能
猜你喜欢
转载自zyzzsky.iteye.com/blog/1754448
今日推荐
周排行