철이의 컴노리
  • 안녕하세요!
  • KOTLIN
  • ANDROID
    • Architecture Components
      • 프로젝트에 추가하기
      • 데이터 바인딩 라이브러리
        • 시작하기
        • 레이아웃 및 바인딩 표현식
      • 라이프 사이클 처리
      • ViewModel
    • CameraX
      • CameraX 아키텍처
      • 구성
      • 미리보기
      • 이미지 분석
      • 이미지 캡처
      • 제조 업체 확장 기능
    • View
      • 커스텀뷰의 크기 정하기
    • JNI 튜토리얼
      • 1장. 저자 소개
      • 2장. Hello JNI
      • 3장. 메서드 등록
      • 4장. int 데이터형 값 주고 받기
      • 5장. boolean 데이터형 값 주고 받기
      • 6장. double 데이터형 값 주고 받기
      • 7장. float 데이터형 값 주고 받기
      • 8장. long 데이터형 값 주고 받기
      • 9장. short 데이터형 값 주고 받기
      • 10장. char 데이터형 값 주고 받기
      • 11장. byte 데이터형 값 주고 받기
      • 12장. JNI에서 문자열 다루기 1/3
      • 13장. JNI에서 문자열 다루기 2/3
      • 14장. JNI에서 문자열 다루기 3/3
      • 15장. 레퍼런스 이해하기
      • 16장. 배열 다루기 1/4
      • 17장. 배열 다루기 2/4
      • 18장. 배열 다루기 3/4
      • 19장. 배열 다루기 4/4
      • 20장. 중간 요약
      • 21장. 자바 클래스 찾기 1/2
      • 22장. 자바 클래스 찾기 2/2
      • 23장. 정적 메서드 찾기
      • 24장. 정적필드 찾기
      • 25장. 자바 클래스 인스턴스 생성하기
      • 26장. 자바 클래스 인스턴스 메서드 찾기
      • 27장. 자바 클래스의 인스턴스 필드 찾기
      • 28장. 네이티브 쓰레드 실행하기
  • Swift
    • What' New
      • Swift 5.0
        • Result 타입
        • Raw 문자열
        • 커스텀 문자열 보간
    • Codable
      • 커스텀 타입 인코딩 및 디코딩
  • iOS
  • OpenGL
    • OpenGL Tutorial
      • 1장. 저자 소개
      • 2장. OpenGL 윈도우 프레임웍 만들기 1편
      • 3장. OpenGL 윈도우 프레임웍 만들기 2편
      • 4장. 점그리기
      • 5장. 선 그리기
      • 6장. 다각형 그리기
      • 7장. 색 표현하기
      • 8장. 3차원 폴리곤 그리기
      • 9장. 투영변환
      • 10장. 이동, 회전, 크기 변환
      • 11장. 빛, 재질 표현하기
      • 12장. 텍스춰매핑
    • OpenGL ES Tutorial for iOS
      • 1장. 저자 소개
      • 2장. 튜토리얼 소개
      • 3장. OpenGL|ES 개발 환경 만들기
      • 4장. 뷰 배경색상 변경하기
      • 5장. 투영에 대해서 1/2
      • 6장. 투영에 대해서 2/2
      • 7장. 선분 및 삼각형 그리기
      • 8장. 색상칠하기
      • 9장. 텍스춰맵핑
      • 10장. 종횡비
      • 11장. 텍스춰 UV좌표
      • 12장. 텍스춰매핑 파라미터
      • 13장. 깊이버퍼
      • 14장. 원근투영
  • ENV
    • oh-my-zsh
      • 특정 git 폴더에서 zsh 이 느려질 때
  • Ubuntu
    • UEFI USB
    • nvidia driver
    • /dev/kvm on Android Studio
    • install oracle-jdk8
  • chromium
    • javap
Powered by GitBook
On this page
  • 이미지 캡처시 효과 사용하기
  • 효과 사용하지 않기
  • 추가 자료
  • 코드랩
  • 코드 예제

Was this helpful?

  1. ANDROID
  2. CameraX

제조 업체 확장 기능

https://developer.android.com/training/camerax/vendor-extensions 를 번역한 문서입니다.

CameraX는 보케, HDR 및 추가 기능과 같은 디바이스 제 업체 별 효과에 접근하기 위한 API를 제공합니다. API를 사용하여 현재 디바이스에서 특정 확장 기능을 사용할 수 있는지 여부를 조회하고 그 확장 기능을 우선적으로 사용할 수 있습니다. 즉, 디바이스의 확장 기능을 사용할 수 있는 경우, 해당 확장 기능이 활성화되고 그렇지 않은 경우에는 다운 그레이드됩니다.

제조 업체는 모든 효과와 기능을 구현할 책임이 없습니다. 제조 업체가 구현하지 않은 기능은 CameraX 구현을 사용합니다. 기본 구현에서는 기능을 사용할 수 없다고 보고 이를 사용하지 않도록 설정합니다.

이미지 캡처시 효과 사용하기

제조 업체 확장 기능을 CameraX 유즈케이스에 적용하려면 Extender 오브젝트를 만듭니다. Extender 오브젝트를 통해 효과나 기능 설정을 담도록 Builder를 구성할 수 있습니다. 확장 기능을 사용할 수 있는지 조회하는 것은 중요합니다. 확장 기능을 사용할 수 없는 경우, enableExtension() 호출은 아무 것도 하지 않기 때문입니다.

이미지 캡처 유즈케이스를 위한 확장 기능을 구현하려면 다음 예제 코드처럼 적절한 이미지 캡처 확장을 구현합니다.

import androidx.camera.extensions.BokehExtender

fun onCreate() {
    // 일반 워크플로우와 동일한 빌더를 만듭니다.
    val builder = ImageCaptureConfig.Builder()

    // 확장 구성을 적용하기 위해 Extender 오브젝트를 만듭니다.
    val bokehImageCapture = BokehImageCaptureExtender.create(builder)

    // 확장 기능을 사용할 수 있는지 조회합니다.(선택적으로)
    if (bokehImageCapture.isExtensionAvailable()) {
        // 사용가능하면 확장 기능을 활성화합니다.
        bokehImageCapture.enableExtension()
    }

    // 확장 기능을 사용하지 않을 때와 같은 흐름으로 구성을 완료합니다.
    val config = builder.build()
    val useCase = ImageCapture(config)
    CameraX.bindToLifecycle(this as LifecycleOwner, useCase)
}

효과 사용하지 않기

제조 업체 확장 기능을 사용하지 않으려면 이미지 캡처 유즈케이스 또는 미리보기 유즈케이스의 새로운 인스턴스를 만들면 됩니다.

추가 자료

CameraX에 대한 자세한 내용은 아래의 추가 자료를 참고 합니다.

코드랩

코드 예제

Previous이미지 캡처NextView

Last updated 6 years ago

Was this helpful?

CameraX 시작하기
CameraX 공식 예제 앱