Camera
Contents
Camera 는 HSP 에서 기본으로 제공하는 API 로 사진을 촬영하거나 갤러리에서 사진을 불러오는 기능을 제공한다.
AndroidManifest.xml 내 uses-permission 을 추가하면 사용 가능 하다.
takePicture
Example
<uses-permission android:name="android.permission.CAMERA"/>
Camera 는 Android 에서 제공하는 Camera 를 사용할 수 있게 하며 Camera 옵션을 전달하기 위해 CameraConfig 를 인자로 받아 처리하도록 구성되어 있다.
CameraConfig 클래스 정보와 각각의 변수 정보는 하단에 표를 참고 한다.
CameraConfig Class
public static class CameraConfig {
public int srcType;
public int destType;
public int quality;
public int width;
public int height;
}
public int srcType;
public int destType;
public int quality;
public int width;
public int height;
}
CameraConfig
필드 | 설명 |
---|---|
quality | 사진 품질 (범위 0~100) |
width | 가로크기 픽셀 (-1 기입시 원본 크기) |
height | 세로크기 픽셀 (-1 기입시 원본 크기) |
sourceType | 입력소스타입
|
destType | 가져올 사진의 타입 (기본값 : URI)
|
카메라 촬영 사용 예
val cfg = DAPCamera.CameraConfig.builder()
.srcType(DAPCamera.CAMERA).destType(DAPCamera.RESULT_URI)
.width(-1).height(-1).quality(50).build()
// 3.10.18 이상
DAPCamera.takePicture(activity, cfg, {
// TODO
}) {
// TODO
}
// 3.10.18 이하
DAPCamera.takePicture(activity, cfg) { result, _ ->
when (result) {
OnResultListener.TRUE -> {
// TODO
}
else -> {
// TODO
}
}
}
.srcType(DAPCamera.CAMERA).destType(DAPCamera.RESULT_URI)
.width(-1).height(-1).quality(50).build()
// 3.10.18 이상
DAPCamera.takePicture(activity, cfg, {
// TODO
}) {
// TODO
}
// 3.10.18 이하
DAPCamera.takePicture(activity, cfg) { result, _ ->
when (result) {
OnResultListener.TRUE -> {
// TODO
}
else -> {
// TODO
}
}
}
DAPCamera.CameraConfig cfg = DAPCamera.CameraConfig.builder()
.srcType(DAPCamera.CAMERA).destType(DAPCamera.RESULT_URI)
.width(-1).height(-1).quality(50).build();
// 3.10.18 이상
DAPCamera.takePicture(activity, cfg, result -> {
// TODO
}, e -> {
// TODO
});
// 3.10.18 이하
DAPCamera.takePicture(activity, cfg, (result, value) -> {
if (result == OnResultListener.TRUE) {
// TODO
} else {
// TODO
}
});
.srcType(DAPCamera.CAMERA).destType(DAPCamera.RESULT_URI)
.width(-1).height(-1).quality(50).build();
// 3.10.18 이상
DAPCamera.takePicture(activity, cfg, result -> {
// TODO
}, e -> {
// TODO
});
// 3.10.18 이하
DAPCamera.takePicture(activity, cfg, (result, value) -> {
if (result == OnResultListener.TRUE) {
// TODO
} else {
// TODO
}
});
이미지 선택 사용 예
val cfg = DAPCamera.CameraConfig.builder()
.srcType(DAPCamera.PHOTO_LIBRARY).destType(DAPCamera.RESULT_URI)
.width(-1).height(-1).quality(50).build()
// 3.10.18 이상
DAPCamera.takePicture(activity, cfg, result -> {
// TODO
}, e -> {
// TODO
});
// 3.10.18 이하
DAPCamera.takePicture(activity, cfg, (result, value) -> {
if (result == OnResultListener.TRUE) {
// TODO
} else {
// TODO
}
});
.srcType(DAPCamera.PHOTO_LIBRARY).destType(DAPCamera.RESULT_URI)
.width(-1).height(-1).quality(50).build()
// 3.10.18 이상
DAPCamera.takePicture(activity, cfg, result -> {
// TODO
}, e -> {
// TODO
});
// 3.10.18 이하
DAPCamera.takePicture(activity, cfg, (result, value) -> {
if (result == OnResultListener.TRUE) {
// TODO
} else {
// TODO
}
});
Activity activity;
DAPCamera.CameraConfig cfg = DAPCamera.CameraConfig.builder()
.srcType(DAPCamera.PHOTO_LIBRARY).destType(DAPCamera.RESULT_URI)
.width(-1).height(-1).quality(50).build();
// 3.10.18 이상
DAPCamera.takePicture(MainActivity.this, cfg, result -> {
// TODO
}, e -> {
// TODO
});
// 3.10.18 이하
DAPCamera.takePicture(MainActivity.this, cfg, (result, value) -> {
if (result == OnResultListener.TRUE) {
// TODO
} else {
// TODO
}
});
DAPCamera.CameraConfig cfg = DAPCamera.CameraConfig.builder()
.srcType(DAPCamera.PHOTO_LIBRARY).destType(DAPCamera.RESULT_URI)
.width(-1).height(-1).quality(50).build();
// 3.10.18 이상
DAPCamera.takePicture(MainActivity.this, cfg, result -> {
// TODO
}, e -> {
// TODO
});
// 3.10.18 이하
DAPCamera.takePicture(MainActivity.this, cfg, (result, value) -> {
if (result == OnResultListener.TRUE) {
// TODO
} else {
// TODO
}
});