IT/안드로이드+JAVA

[안드로이드] 지원되는 사진, 지원하는 프리뷰 크기 구하기

안경 쓴 귀니 2016. 9. 19. 17:54
반응형


[안드로이드] 지원되는 사진, 지원하는 프리뷰 크기 구하기



핸드폰에 따라 가능한 사진 크기와 해상도가 다릅니다.



1) 가능한 가장 큰 사진 크기랑 해상도 찾기



PictureSize

private Camera.Size getBestPictureSize(int width, int height) {
Camera.Size result=null;
Camera.Parameters p = mCamera.getParameters();
for (Camera.Size size : p.getSupportedPictureSizes()) {
if (result==null) {
result=size;
} else {
int resultArea=result.width*result.height;
int newArea=size.width*size.height;

if (newArea>resultArea) {
result=size;
}
}
}
return result;

}


PreviewSize

private Camera.Size getBestPreviewSize(int width, int height) {
Camera.Size result=null;
Camera.Parameters p = mCamera.getParameters();
for (Camera.Size size : p.getSupportedPreviewSizes()) {
if (result==null) {
result=size;
} else {
int resultArea=result.width*result.height;
int newArea=size.width*size.height;

if (newArea>resultArea) {
result=size;
}
}
}
return result;

}



2) 가능한 모든 사진 크기랑 해상도 찾기

//가능한 모든 사진 크기랑 해상도 찾기
Camera.Parameters parameters = mCamera.getParameters();
if (parameters != null) {


List<Camera.Size> pictureSizeList = parameters.getSupportedPictureSizes();
for (Camera.Size size : pictureSizeList) {        //지원하는 사진 크기

Log.e("==PictureSize==", "width : " + size.width + " height : " + size.height);
}

List<Camera.Size> previewSizeList = parameters.getSupportedPreviewSizes();
for (Camera.Size size : previewSizeList) {        //지원하는 프리뷰 크기

Log.e("==PreviewSize==", "width : " + size.width + " height : " + size.height);
}
}



 [ 결과 로그 ] 


테스트폰은 갤럭시 노트4 입니다.



반응형