Android가 시스템 카메라를 호출하고 그림을 받는 두 가지 방법

1709 단어
제목과 같이 프로젝트 연결에 따라 써야 할 방법도 있다.
방법1의 사고방식은 되돌아오는 intent 대상에 따라 그림 정보를 얻는 것이다. 코드는 다음과 같다.
intent.setAction(MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(intent, REQ_CODE_CAMERA);

이 두 코드는 안드로이드 시스템에 카메라를 켜고 코드를 통해
	@Override
	protected void onActivityResult(int requestCode, int resultCode, Intent data) {
		super.onActivityResult(requestCode, resultCode, data);

		if (resultCode == RESULT_OK) {
			Bundle mBundle = data.getExtras();
			Bitmap mBitmap = (Bitmap) mBundle.get("data");
			iv.setImageBitmap(mBitmap);
		}
<span style="white-space:pre">	</span>}

이렇게 하면 지정된 ImageView에 그림을 설정할 수 있습니다.
방법2의 사고방식은 카메라를 열 때 카메라가 사진을 저장하는 경로를 명확히 하고 경로에서 그림 대상을 얻는 것이다. 코드는 다음과 같다.
			imagePath = IMG_ROOT + File.separator + "IMG_" + System.currentTimeMillis() + ".jpg";
			Uri dst = Uri.fromFile(new File(imagePath));
			intent.setAction(MediaStore.ACTION_IMAGE_CAPTURE);
			//       dstUri     。
			intent.putExtra(MediaStore.EXTRA_OUTPUT, dst);
			// intent.putExtra("camerasensortype", 2); //        
			intent.putExtra("autofocus", true); //     
			intent.putExtra("fullScreen", false); //   
			intent.putExtra("showActionIcons", false);
			startActivityForResult(intent, REQ_CODE_CAMERA);

위 코드와 같은 설정을 사용하면 카메라가 찍은 새 사진의 위치가 이미지 Path의 위치임을 보증할 수 있으며, 경로를 통해 얻은 그림을 얻을 수 있으며, 사용할 수 있다.
ImageFactory.decode(inputStream in) 방법으로 Bitmap 객체를 가져옵니다.입력 흐름 매개 변수는 위 파일의 파일 입력 흐름으로 전송하면 됩니다.
PS:카메라를 호출한 후에 얻은 사진을 얻는 다른 방법도 있습니다. 본인의 능력에 한계가 있기 때문에 아직 완성하지 못했습니다. 여러분의 블로거들이 함께 토론하는 것을 환영합니다.

좋은 웹페이지 즐겨찾기