-
大小: 1.33MB文件类型: .rar金币: 1下载: 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
相关资源
- Android GPS+指南针源码
- android 拼图游戏可从手机选择一张图片
- 七牛直播demo项目Android版本
- 完整android app 源码,含新闻、论坛、
- 完美版的Android 拼图游戏APK和工程源码
- 记录温度变化曲线的android程序,单片
- Android源码-使用百度APIStore实现天气预
- Android 基于百度API Store的天气预报
- RichEditor for Android强大的富文本编辑器
- android仿美柚大姨妈控件仿美柚月经显
- Android应用开发入门教程(带书签高清
- android公章
- Android7.0相机相册闪退处理,向下兼容
- Android定位并记录轨迹项目源码
- android摇一摇随机变图片
- android 校园二手交易客户端
- Android单点触控技术,对图片进行平移
- Android可拖拽的GridViewitem交换动画效果
- Android 向右滑动切换Activity 随着手势的
- Android 使用开源库StickyGridHeaders来实现
- Android 使用ContentProvider扫描手机中的图
- Android 可拖拽的GridView效果实现 长按
- Android 通过WebService进行网络编程,使
- 自己开发的消灭星星android-java源代码
- 基于Android手机的室内定位技术研究与
- Android本地及网络音乐播放器
- Android短信备份
- android 推箱子
- android_libcurl_openssl
- android 即时通信系统
评论
共有 条评论