안드로이드 개발 질문/답변
(글 수 45,052)
안녕하세요 ㅎ 뭐하나 질문드릴꼐요 ~
제가 지금 사진을 찍을때 그위에 이미지를 올리고 그곳에 얼굴을 맞추면서 사진을 찍는것을 만들어야 하는데요
흠.. 우선 제가 생각햇서 짠것이 surfaceview로 이용해소 프리뷰 하고 그위에 이미지올리는것을햇는데요~
근데 문제인것이!! 전면카메라가 활성화가 안된다는것이네요 ㅠ 찾아보니 2.3 진저브레드 부터 api가 만들어졌다는데... 그래서 방법을 막 찾는 도중에
이 링크에서 Forward Facing Camera Support 을 봣습니다~ 이링크를 찾아보면
라이브러리를 제공하고 그것을 추가해서
|
이런형식으로 쓰는것이 있어서 해봣는데요 흠.... 똑같이 후면이 나오드라구요
Camera camera = FrontFacingCamera.getFrontFacingCamera();
이부분을 선언하는부분을 잘못한것인지 아니면 현재 안되는것인지.. 흠..
현재 제가 프리뷰 해논것은 xml 에다가 surfaceview을 만들어서
public class CameraTestActivity extends Activity implements
SurfaceHolder.Callback {
Camera camera;
SurfaceView surfaceView;
SurfaceHolder surfaceHolder;
boolean previewing = false;
LayoutInflater controlInflater = null;
SurfaceView surfaceView;
SurfaceHolder surfaceHolder;
boolean previewing = false;
LayoutInflater controlInflater = null;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
getWindow().setFormat(PixelFormat.UNKNOWN);
surfaceView = (SurfaceView) findViewById(R.id.camerapreview);
surfaceHolder = surfaceView.getHolder();
surfaceHolder.addCallback(this);
surfaceHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
surfaceView = (SurfaceView) findViewById(R.id.camerapreview);
surfaceHolder = surfaceView.getHolder();
surfaceHolder.addCallback(this);
surfaceHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
controlInflater = LayoutInflater.from(getBaseContext());
View viewControl = controlInflater.inflate(R.layout.control, null);
LayoutParams layoutParamsControl = new LayoutParams(
LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT);
this.addContentView(viewControl, layoutParamsControl);
View viewControl = controlInflater.inflate(R.layout.control, null);
LayoutParams layoutParamsControl = new LayoutParams(
LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT);
this.addContentView(viewControl, layoutParamsControl);
}
이형식으로 되있습니다 저 위에 선언은
@Override
public void surfaceCreated(SurfaceHolder holder) {
Log.i("call","true");
camera = FrontFacingCamera.getFrontFacingCamera();
//camera = Camera.open();
}
이부분에 선언을 해주었구요 흠...
public void surfaceCreated(SurfaceHolder holder) {
Log.i("call","true");
camera = FrontFacingCamera.getFrontFacingCamera();
//camera = Camera.open();
}
이부분에 선언을 해주었구요 흠...
혹시나 이라이브러리 사용해보신분 있으시거나~ 방법아시는분 조언부탁드립니다 ㅎ 2일동안 하는데 잘안되네요 흑흑 ㅠ
그리고 마지막 질문하나만요 ㅎ
이런식으로 surfaceview 로 해서 프리뷰를 하는것이 아니라
Intent intent = new Intent();
intent.setAction(MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(intent, PICK_FROM_CAMERA);
intent.setAction(MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(intent, PICK_FROM_CAMERA);
이런식으로 햇을떄 나오는 일반 내장되어있는 카메라 기능이 나오게 하오는데 그위에 그림을 그릴수있는방법있을까요??
저번에 질문햇을떄 답변해주신글중에 surfaceview에 카메라뷰를 실행시키라는데 흠... 그부분이 뭔말인지 모르겟네요 고수님들 부탁드립니다 ㅎ