-
大小: 1.33MB文件类型: .rar金币: 2下载: 0 次发布日期: 2023-10-14
- 语言: Java
- 标签: Android CustomCamera SurfaceView
资源简介
博客地址:http://blog.csdn.net/xiaohao0724/article/details/68488145
Android自定义照相机 CustomCamera

代码片段和文件信息
package com.havorld.customcamera;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.util.Iterator;
import java.util.List;
import android.app.Activity;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.content.res.Configuration;
import android.graphics.ImageFormat;
import android.hardware.Camera;
import android.hardware.Camera.Parameters;
import android.hardware.Camera.Size;
import android.os.Bundle;
import android.os.Environment;
import android.util.Log;
import android.view.OrientationEventListener;
import android.view.SurfaceHolder;
import android.view.SurfaceView;
import android.view.View;
import android.view.View.onclickListener;
import android.widget.frameLayout;
import android.widget.ImageButton;
import com.havorld.customcamera.utils.PreviewSizeUtil;
/**
* 博客地址:http://blog.csdn.net/xiaohao0724/article/details/68488145
*
*/
public class CustomCameraActivity extends Activity implements onclickListener
SurfaceHolder.Callback Camera.PictureCallback {
private Camera camera;
private static final String TAG = “Havorld“;
private Camera.Parameters parameters;
private int orientationDegrees = 90;
private frameLayout frameLayout;
private ImageButton imageButton reset ok;
/** 路径: /storage/emulated/0/Pictures/ */
private String savePath;
private String path;
private SurfaceHolder surfaceHolder;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_camera);
savePath = Environment
.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES)
+ File.separator;
SurfaceView surfaceView = (SurfaceView) findViewById(R.id.surfaceView);
surfaceView.setonclickListener(this);
frameLayout = (frameLayout) findViewById(R.id.frameLayout);
imageButton = (ImageButton) findViewById(R.id.imageButton);
reset = (ImageButton) findViewById(R.id.reset);
ok = (ImageButton) findViewById(R.id.ok);
frameLayout.setonclickListener(this);
imageButton.setonclickListener(this);
reset.setonclickListener(this);
ok.setonclickListener(this);
// 到SurfaceHolderSurfaceHolder相当于一个监听器可以通过CallBack来监听 SurfaceView上的变化。
surfaceHolder = surfaceView.getHolder();
surfaceHolder.addCallback(this);
// 为了实现照片预览功能,需要将SurfaceHolder的类型设置为PUSH这样画图缓存就由Camera类来管理,画图缓存是独立于Surface的
surfaceHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
startOrientationchangeListener();
}
private final void startOrientationchangeListener() {
OrientationEventListener mOrEventListener = new OrientationEventListener(
this) {
@Override
public void onOrientationchanged(int rotation) {
if (((rotation >= 0) && (rotation <= 45)) || (rotation >= 315)) {
orientationDegrees = 90;
} else if ((rotation > 45) && (rotation < 135)) {
orientationDegrees = 180;
} else if ((rotation >= 135) && (rotation <= 225)) {
orientationDeg
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 475 2017-03-28 20:59 CustomCamera\.classpath
文件 848 2017-03-27 14:16 CustomCamera\.project
文件 177 2017-03-27 14:16 CustomCamera\.settings\org.eclipse.jdt.core.prefs
文件 1622 2017-03-30 23:02 CustomCamera\AndroidManifest.xm
文件 51394 2017-03-27 14:16 CustomCamera\ic_launcher-web.png
文件 1422188 2017-03-27 14:16 CustomCamera\libs\android-support-v4.jar
文件 781 2017-03-27 14:16 CustomCamera\proguard-project.txt
文件 563 2017-04-06 09:49 CustomCamera\project.properties
文件 7658 2017-03-27 14:16 CustomCamera\res\drawable-hdpi\ic_launcher.png
文件 3777 2017-03-27 14:16 CustomCamera\res\drawable-mdpi\ic_launcher.png
文件 1070 2017-03-29 17:15 CustomCamera\res\drawable-xhdpi\camera.png
文件 12516 2017-03-27 14:16 CustomCamera\res\drawable-xhdpi\ic_launcher.png
文件 4112 2017-03-29 17:22 CustomCamera\res\drawable-xhdpi\ok.png
文件 1973 2017-03-29 17:09 CustomCamera\res\drawable-xhdpi\pf.png
文件 1896 2017-03-27 16:13 CustomCamera\res\drawable-xhdpi\reset.png
文件 543 2017-03-27 15:22 CustomCamera\res\drawable-xhdpi\start.png
文件 1823 2017-03-27 15:22 CustomCamera\res\drawable-xhdpi\stop.png
文件 2193 2017-03-27 15:14 CustomCamera\res\drawable-xhdpi\stop_bc.png
文件 24777 2017-03-27 14:16 CustomCamera\res\drawable-xxhdpi\ic_launcher.png
文件 57506 2017-03-30 16:06 CustomCamera\res\drawable-xxhdpi\timg.jpg
文件 1826 2017-03-29 17:09 CustomCamera\res\layout\activity_camera.xm
文件 725 2017-03-30 23:03 CustomCamera\res\layout\activity_main.xm
文件 1667 2017-03-30 15:38 CustomCamera\res\layout\activity_second.xm
文件 374 2017-03-27 14:16 CustomCamera\res\menu\main.xm
文件 220 2017-03-27 14:16 CustomCamera\res\values\dimens.xm
文件 229 2017-03-27 14:16 CustomCamera\res\values\strings.xm
文件 697 2017-03-27 14:16 CustomCamera\res\values\st
文件 334 2017-03-27 14:16 CustomCamera\res\values-v11\st
文件 391 2017-03-27 14:16 CustomCamera\res\values-v14\st
文件 381 2017-03-27 14:16 CustomCamera\res\values-w820dp\dimens.xm
............此处省略29个文件信息
- 上一篇:对日外包软件开发常用日语
- 下一篇:超大文件编辑器PilotEdit
相关资源
- AndroidStudio版直连sqlserver
- android带百分比进度条的文件上传,使
- 美食天下项目Android版源码和Web版源码
- Android之自定义ToggleButton使用
- Android非常漂亮的登录界面
- pc与android通过usb socket实现手机通信
- android毕业设计
- 百度地图自定义Markerandroid
- Android分区工具包
- android-support-v4.jar已打包进去源代码
- u-blox_Android_GNSS_Driver_v3.10驱动源码+中
- 个人根据Android移动开发案例详解手写
- android 视频播放器 项目和原码
- Android【动画】【特效】 17种动画特效
- 基于Android智能家居详细设计(经典)
- android通过JDBC连接Mysql数据库
- Android通讯录的源代码
- android 瀑布流Demo
- 指纹传感器FPC1080在android下的驱动
- delphi xe5 android 调用照相机摄像头拍照
- Android手机连连看游戏源码
- android-sdk-windows v2.3离线完整版
- android 底部弹出菜单(带透明背景)
- Android工程模式简介.rar
- Android蓝牙和Cors网络开发源码
- Android powermanger wakelock
- Android v7的一些jar包
- 最新android supportV7包
- android图片压缩工具类分享
- 单机搭建Android(解决Network is unreach
评论
共有 条评论