Android拍照方法Word下载.docx
《Android拍照方法Word下载.docx》由会员分享,可在线阅读,更多相关《Android拍照方法Word下载.docx(12页珍藏版)》请在冰豆网上搜索。
15.
privateStringTAG="
PhotoActivity"
;
16.
17.
@Override
18.
public
voidonCreate(BundlesavedInstanceState){
19.
super.onCreate(savedInstanceState);
20.
setContentView(R.layout.main);
21.
try{
22.
Intentintent=newIntent(MediaStore.ACTION_IMAGE_CAPTURE);
23.
Fileout=newFile(Environment.getExternalStorageDirectory(),
24.
"
camera.jpg"
);
25.
Uriuri=Uri.fromFile(out);
26.
intent.putExtra(MediaStore.EXTRA_OUTPUT,uri);
27.
startActivityForResult(intent,0);
28.
}catch(Exceptione){
29.
e.printStackTrace();
30.
}
31.
32.
33.
34.
protected
voidonActivityResult(intrequestCode,intresultCode,Intentdata){
35.
36.
Log.v(TAG,"
onActivityResultrequestCode="
+requestCode+"
resultCode=
37.
+resultCode);
38.
if(requestCode!
=0){
39.
return;
40.
41.
if(resultCode==0){
42.
finish();
43.
44.
45.
Intentintent=newIntent();
46.
intent.setClass(this,ViewPhotoActivity.class);
47.
this.startActivity(intent);
48.
49.
50.
Log.v(TAG,e.getMessage());
51.
52.
53.}
查看照片代码:
3.importandroid.app.Activity;
4.importandroid.app.AlertDialog;
5.importandroid.content.DialogInterface;
6.importandroid.graphics.Bitmap;
7.importandroid.graphics.BitmapFactory;
8.importandroid.os.Bundle;
9.importandroid.os.Environment;
11.importandroid.view.MotionEvent;
12.importandroid.widget.ImageView;
14.importcom.ziyouku.demo.R;
16.public
classViewPhotoActivityextendsActivity{
ViewPhotoActivity"
privateAlertDialogalertDialog;
privateImageViewview;
setContentView(R.layout.camera);
view=(ImageView)findViewById(R.id.image);
StringpathString=Environment.getExternalStorageDirectory()
.toString()+"
/camera.jpg"
Log.v("
"
"
pathString="
+pathString);
Bitmapb=BitmapFactory.decodeFile(pathString);
view.setImageBitmap(b);
alertDialog=newAlertDialog.Builder(ViewPhotoActivity.this)
.setMessage("
自由库测试demo"
)
.setPositiveButton("
ok"
newDialogInterface.OnClickListener(){
voidonClick(DialogInterfacedialog,
intwhichButton){
})
.setNegativeButton("
cancle"
}).create();
alertDialog.show();
throw
newRuntimeException(e);
53.
54.
booleanonTouchEvent(MotionEventevent){
55.
onTouchEventevent="
+event.getX());
56.
return
super.onTouchEvent(event);
57.
58.}
3、自定义拍照界面的方法:
3.importjava.io.IOException;
4.importcom.ziyouku.demo.R;
5.importandroid.app.Activity;
6.importandroid.content.pm.ActivityInfo;
7.importandroid.graphics.Bitmap;
8.importandroid.graphics.BitmapFactory;
9.importandroid.graphics.PixelFormat;
10.importandroid.hardware.Camera;
11.importandroid.hardware.Camera.AutoFocusCallback;
12.importandroid.hardware.Camera.Parameters;
13.importandroid.hardware.Camera.PictureCallback;
14.importandroid.hardware.Camera.ShutterCallback;
15.importandroid.os.Bundle;
16.importandroid.util.Log;
17.importandroid.view.KeyEvent;
18.importandroid.view.SurfaceHolder;
19.importandroid.view.SurfaceView;
20.importandroid.view.View;
21.importandroid.view.Window;
22.importandroid.view.WindowManager;
23.importandroid.view.SurfaceHolder.Callback;
24.importandroid.view.View.OnClickListener;
25.importandroid.widget.ImageView;
27.public
classCameraCustomextendsActivityimplementsCallback,OnClickListener{
privateSurfaceViewmSurfaceView;
privateSurfaceHoldermSurfaceHolder;
privateCameramCamera;
private
booleanmPreviewRunning;
privateImageViewmImageView;
this.requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFormat(PixelFormat.TRANSLUCENT);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
mSurfaceView=(SurfaceView)findViewById(R.id.camera);
mImageView=(ImageView)findViewById(R.id.image);
mImageView.setVisibility(View.GONE);
mSurfaceView.setOnClickListener(this);
mSurfaceHolder=mSurfaceView.getHolder();
mSurfaceHolder.addCallback(this);
mSurfaceHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
voidsurfaceChanged(SurfaceHolderholder,intformat,intwidth,
intheight){
if(mPreviewRunning){
mCamera.stopPreview();
58.
Parametersparams=mCamera.getParameters();
59.
params.setPictureFormat(PixelFormat.JPEG);
//设置图片格式
60.
//params.setPreviewSize(width,height);
61.
params.set("
rotation"
90);
62.
mCamera.setParameters(params);
63.
64.
mCamera.setPreviewDisplay(holder);
65.
}catch(IOExceptione){
66.
67.
68.
mCamera.startPreview();
69.
mPreviewRunning=true;
70.
71.
72.
privateAutoFocusCallbackmAutoFocusCallBack=newAutoFocusCallback(){
73.
74.
voidonAutoFocus(booleansuccess,Cameracamera){
75.
AutoFocusCallback"
AutoFocusCallback,booleansuccess:
+success);
76.
Camera.ParametersParameters=mCamera.getParameters();
77.
Parameters.setPictureFormat(PixelFormat.JPEG);
78.
mCamera.setParameters(Parameters);
79.
mCamera.takePicture(mShutterCallback,null,mPictureCallback);
80.
81.
};
82.
83.
84.
voidsurfaceCreated(SurfaceHolderholder){
85.
mCamera=Camera.open();
86.
87.
88.
89.
voidsurfaceDestroyed(SurfaceHolderholder){
90.
91.
mPreviewRunning=false;
92.
mCamera.release();
93.
mCamera=null;
94.
95.
96.
/**
97.
*拍照的回调接口
98.
*/
99.
PictureCallbackmPictureCallback=newPictureCallback(){
100.
101.
voidonPictureTaken(byte[]data,Cameracamera){
102.
PictureCallback"
…onPictureTaken…"
103.
if(data!
=null){
104.
Bitmapbitmap=BitmapFactory.decodeByteArray(data,0,
105.
data.length);
106.
mImageView.setImageBitmap(bitmap);
107.
mImageView.setVisibility(View.VISIBLE);
108.
mSurfaceView.setVisibility(View.GONE);
109.
110.
111.
112.
113.
114.
115.