这几天看了很多大神写的在surfaceView上添加一个矩形框的功能 ,我自己也写了一个类似的简单功能实现,目前还有个技术难题没有实现,有那个大神看到这篇文章麻烦现身指点一二,别的不多说了 代码先贴出来,问题后面在问!
先写一个相机类:(我有一部分是用afinal快速框架开发的,比较方便,推荐大家都使用下!)
package com.example.cameratest;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import net.tsz.afinal.FinalActivity;
import net.tsz.afinal.annotation.view.ViewInject;
import android.graphics.PixelFormat;
import android.hardware.Camera;
import android.hardware.Camera.AutoFocusCallback;
import android.hardware.Camera.PictureCallback;
import android.os.Bundle;
import android.os.Environment;
import android.util.Log;
import android.view.MotionEvent;
import android.view.SurfaceHolder;
import android.view.SurfaceHolder.Callback;
import android.view.SurfaceView;
import android.view.View;
import android.view.View.OnTouchListener;
import android.view.ViewGroup;
public class CameraActivity extends FinalActivity {
@ViewInject(id = R.id.buttonLayout)View layout;
@ViewInject(id = R.id.surfaceview,click = "focusing")SurfaceView surfaceView;
private Camera camera;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_camera);
// layout.getBackground().setAlpha(150);//这里可以给背景添加透明度
surfaceView.getHolder().setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
surfaceView.getHolder().setFixedSize(640, 480);
surfaceView.getHolder().setKeepScreenOn(true);
surfaceView.getHolder().addCallback(new SurfaceCallBack());
}
/**
* 拍