안녕하세요 ~

안드로이드 앱 개발을 하고 있는 학생입니다 ~

다른게 아니고 갤럭시s를 이용해서 Preview 기능을 수행하고 있는데요 ~

Preview 창은 띄웠는데, Preview 창을 흑백으로 변환하고 싶습니다

 

아무리 해봐도 안되어서 ㅠ 고수님들 조언을 듣고자 합니다 ~

 

package exam.camera.preview;

import java.io.*;

import android.content.*;
import android.graphics.*;
import android.hardware.Camera;
import android.view.*;

class Preview extends SurfaceView implements SurfaceHolder.Callback {
 
 SurfaceHolder mHolder;
 Camera mCamera;
 
 public Preview(Context context) {
  super(context);
  // TODO Auto-generated constructor stub
  
  //SurfaceHolder.Callback을 설정함으로써 Surface가 생성/소멸되었음을 알 수 있다.
  mHolder = getHolder();
  mHolder.addCallback(this);
  mHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
 }
 

 @Override
 public void surfaceCreated(SurfaceHolder holder) {
  // TODO Auto-generated method stub
  /*
   * Surface가 생성되었다면, 카메라의 인스턴스를 받아온 후 카메라의
   * Preview 를 표시할 위치를 설정
   */
  mCamera = Camera.open();
  try{
   mCamera.setPreviewDisplay(holder);
  }
  catch(IOException exception){
   mCamera.release();
   mCamera = null;
  }
 }
 
 @Override
 public void surfaceChanged(SurfaceHolder holder, int format, int width,
   int height) {
  // TODO Auto-generated method stub
  // 표시할 영역의 크기를 알았으므로 해당 크리고 Preview를 시작한다.
  
  Camera.Parameters parameters = mCamera.getParameters();
  parameters.setPreviewSize(width, height);
  mCamera.setParameters(parameters);
  mCamera.startPreview();
 }
 
 @Override
 public void surfaceDestroyed(SurfaceHolder holder) {
  // TODO Auto-generated method stub
  /*
   * 다른 화면으로 돌아가면, Surface가 소멸된다. 따라서 카메라의 Preview도
   * 중지해야 한다. 카메라는 공유할 수 있는 자원이 아니기에, 사용하지 않을
   * 경우" 액티비티가 일시정지 상태가 된 경우 등.." 자원을 반환해야 한다
   */
  mCamera.stopPreview();
  mCamera = null;
 } 
}

 

위 소스에서 어찌 수정해야 할지 모르겠습니다 ;

parameters를 가지고 설정하는건가요 ? 잘 모르겠네요 ㅠ

조언부탁드립니다 ㅠ