展会信息港展会大全

Android自动聚焦、摄像头拍照、缩放至标准大小的完整实现
来源:互联网   发布日期:2015-09-29 10:16:38   浏览:1724次  

导读:第一,布局文件。里面有一个surfaceview和三个按钮,分别是预览、拍照、保存。嬀栀琀洀氀崀<?xml version="1.0" encoding="utf-8"?><Lin...

第一,布局文件。里面有一个surfaceview和三个按钮,分别是预览、拍照、保存。

[html]

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

android:layout_width="fill_parent"

android:layout_height="fill_parent"

android:orientation="vertical" >

<SurfaceView

android:id="@+id/mySurfaceView"

android:layout_width="fill_parent"

android:background="#D1EEEE"

android:layout_height="800px"

android:gravity="center" />

<LinearLayout

android:id="@+id/LinearLayout01"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_gravity="center_horizontal"

android:paddingTop="20dip"

android:orientation="horizontal" >

<Button

android:id="@+id/btnPreview"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="预览" />

<Button

android:id="@+id/btnPhoto"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="拍照" />

<Button

android:id="@+id/btnSave"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="保存" />

</LinearLayout>

</LinearLayout>

第2,源程序:

[cpp]

package yan.guoqi.testphoto;

import java.io.BufferedOutputStream;

import java.io.File;

import java.io.FileOutputStream;

import java.io.IOException;

import java.util.Timer;

import java.util.TimerTask;

import android.app.Activity;

import android.app.AlertDialog;

import android.app.AlertDialog.Builder;

import android.content.DialogInterface;

import android.graphics.Bitmap;

import android.graphics.BitmapFactory;

import android.graphics.PixelFormat;

import android.hardware.Camera;

import android.hardware.Camera.PictureCallback;

import android.hardware.Camera.ShutterCallback;

import android.os.Bundle;

import android.util.Log;

import android.view.SurfaceHolder;

import android.view.SurfaceView;

import android.view.View;

import android.view.View.OnClickListener;

import android.view.Window;

import android.view.WindowManager;

import android.widget.Button;

import android.widget.Toast;

public class TestPhotoActivity extends Activity implements SurfaceHolder.Callback{

/** Called when the activity is first created. */

private static finalString TAG = "yan:";

SurfaceView mySurfaceView = null;

SurfaceHolder mySurfaceHolder = null;

Button btnPreview = null;

Button btnPhoto = null;

Button btnSave = null;

Camera myCamera = null;

Camera.Parameters myParameters;

boolean isView = false;

Bitmap bm;

String savePath = "/mnt/sdcard/testPhoto/";

int cntSave = 0;

private Camera.AutoFocusCallback mAutoFocusCallback;

//private Camera.PreviewCallback mPreviewCallback;

private Timer mTimer;

private TimerTask mTimerTask;

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

//璁剧疆

赞助本站

人工智能实验室

相关热词: android开发 教程

AiLab云推荐
展开

热门栏目HotCates

Copyright © 2010-2024 AiLab Team. 人工智能实验室 版权所有    关于我们 | 联系我们 | 广告服务 | 公司动态 | 免责声明 | 隐私条款 | 工作机会 | 展会港