Skip to content

openCamera

카메라를 실행해서 촬영된 이미지를 반환하는 함수예요.

시그니처

typescript
function openCamera(options?: OpenCameraOptions): Promise<ImageResponse>;

파라미터

  • options필수 · OpenCameraOptions

    카메라 실행 시 사용되는 옵션 객체예요.

    • options.base64boolean · false

      이미지를 Base64 형식으로 반환할지 여부를 나타내는 불리언 값이에요. 기본값은 false예요. true로 설정하면 dataUri 대신 Base64 인코딩된 문자열을 반환해요.

    • options.maxWidthnumber · 1024

      이미지의 최대 너비를 나타내는 숫자 값이에요. 기본값은 1024예요.

반환 값

  • Promise<ImageResponse>

촬영된 이미지 정보를 포함한 객체를 반환해요. 반환 객체의 구성은 다음과 같아요:

  • id: 이미지의 고유 식별자예요.
  • dataUri: 이미지 데이터를 표현하는 데이터 URI예요.

예제

카메라 실행 후 촬영된 사진 가져오기

tsx
import React, { useState } from 'react';
import { View, Text, Button, Image } from 'react-native';
import { openCamera } from '@apps-in-toss/framework';

const base64 = true;

// 카메라를 실행하고 촬영된 이미지를 화면에 표시하는 컴포넌트
function Camera() {
  const [image, setImage] = useState(null);

  const handlePress = async () => {
    try {
      const response = await openCamera({ base64 });
      setImage(response);
    } catch (error) {
      console.error('사진을 가져오는 데 실패했어요:', error);
    }
  };

  // base64 형식으로 반환된 이미지를 표시하려면 데이터 URL 스키마 Prefix를 붙여야해요.
  const imageUri = base64 ? 'data:image/jpeg;base64,' + image.dataUri : image.dataUri;

  return (
    <View>
      {image ? (
        <Image source={{ uri: imageUri }} style={{ width: 200, height: 200 }} />
      ) : (
        <Text>사진이 없어요</Text>
      )}
      <Button title="사진 촬영하기" onPress={handlePress} />
    </View>
  );
}