안녕하세요 ~
안드로이드 앱 개발을 하고 있는 학생입니다 ~
다른게 아니고 갤럭시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를 가지고 설정하는건가요 ? 잘 모르겠네요 ㅠ
조언부탁드립니다 ㅠ