android 摄像头拍照编程
以下是测试通过的一个 android 摄像头拍照编程例子,步骤如下:
1. 编写拍照类 CameraActivity
public class CameraActivity extends Activity {
private CameraView cv ;
// 准备一个相机对象
private Camera mCamera = null ;
// 准备一个 Bitmap 对象
private Bitmap mBitmap = null ;
// 准备一个保存图片的 PictureCallback 对象
public Camera.PictureCallback pictureCallback = new
Camera.PictureCallback() {
public void onPictureTaken( byte [] data, Camera camera) {
Log. i ( "yao" , "onPictureTaken" );
Toast. makeText (getApplicationContext(), " 正在保存 ……",
Toast. LENGTH_LONG)
.show();
// 用BitmapFactory.decodeByteArray() 方法可以把相机传回的裸数据
转换成 Bitmap 对象
mBitmap = BitmapFactory. decodeByteArray (data, 0, data. length );
// 接下来的工作就是把 Bitmap 保存成一个存储卡中的文件
File file = new File( "/mnt/sdcard/pics/"
+ new DateFormat(). format ( "yyyyMMdd_hhmmss" ,
Calendar. getInstance (Locale. CHINA)) + ".jpg" );
try {
file.createNewFile();
BufferedOutputStream os = new BufferedOutputStream(
new FileOutputStream(file));
mBitmap .compress(Bitmap.CompressFormat. PNG, 100, os);
os.flush();
os.close();
Toast. makeText (getApplicationContext(), " 图片保存完毕,在存
储卡的 pics 目录 ",
Toast. LENGTH_LONG).show();
} catch (IOException e) {
e.printStackTrace();
}
}
};
// Activity 的创建方法
@Override
public void onCreate(Bundle savedInstanceState) {