[안드로이드] 지원되는 사진, 지원하는 프리뷰 크기 구하기
핸드폰에 따라 가능한 사진 크기와 해상도가 다릅니다.
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 입니다.
'IT > 안드로이드+JAVA' 카테고리의 다른 글
[안드로이드] 6.0 마시멜로우 퍼미션 권한 주기 (0) | 2016.09.20 |
---|---|
[안드로이드] 어노테이션 @annotation, @Override, @Deprecated, @SuppressWarnings (0) | 2016.09.20 |
[안드로이드] 카메라 초점맞추기, SurfaceView (0) | 2016.09.19 |
[안드로이드] SurfaceView Camera 서페이스뷰 이용한 카메라 기능 (1) | 2016.09.19 |
[안드로이드] DotIndicator를 사용해서 ViewPager에 안내점 표시하기(페이지 표시, 현재페이지) (0) | 2016.09.12 |