프로젝트 소개
# react-native-image-crop-picker
기기 갤러리나 카메라에서 이미지와 동영상을 선택하기 위한 React Native 모듈로, 자르기, 압축, 다중 선택 및 다양한 사용자 정의 옵션을 지원합니다. iOS와 Android 모두에서 작동합니다.
## 기능
- **갤러리 및 카메라**: 시스템 피커나 카메라를 직접 엽니다.
- **자르기**: 사용자 정의 가능한 치수, 원형 오버레이, 자유 형식 자르기 및 회전 제스처(Android)로 자르기를 활성화합니다.
- **다중 선택**: 한 번에 여러 이미지나 동영상을 선택합니다.
- **압축**: 최대 너비/높이/품질로 이미지를 압축하고, 프리셋으로 동영상을 압축합니다(iOS).
- **미디어 유형**: 사진, 동영상 또는 전체 중 필터링합니다.
- **Base64 및 EXIF**: 응답에 Base64 데이터와 EXIF 메타데이터를 선택적으로 포함합니다.
- **정리**: 선택 중에 생성된 임시 파일을 제거합니다.
- **사용자 정의**: UI 색상, 텍스트 및 동작(예: 자르기 프레임, 가이드라인, 툴바)에 대한 광범위한 옵션을 제공합니다.
## 설치
```bash
npm i react-native-image-crop-picker --save
```
iOS의 경우 `cd ios && pod install`을 실행하십시오. `Info.plist`에 사용 설명을 추가하십시오(예: 사진 라이브러리 접근을 위한 `NSPhotoLibraryUsageDescription`). Android의 경우 `AndroidManifest.xml`에 필요한 권한(예: 카메라, 저장소)을 추가하십시오.
## 사용법
```javascript
import ImagePicker from 'react-native-image-crop-picker';
// 자르기가 포함된 단일 이미지
ImagePicker.openPicker({ width: 300, height: 400, cropping: true })
.then(image => console.log(image))
.catch(error => console.log(error));
// 다중 이미지
ImagePicker.openPicker({ multiple: true })
.then(images => console.log(images));
// 동영상 전용
ImagePicker.openPicker({ mediaType: 'video' })
.then(video => console.log(video));
// 카메라
ImagePicker.openCamera({ width: 300, height: 400, cropping: true })
.then(image => console.log(image));
// 기존 파일 자르기
ImagePicker.openCropper({ path: 'file-path.jpg', width: 300, height: 400 })
.then(image => console.log(image));
```
## 옵션
주요 옵션에는 `cropping`, `width`, `height`, `multiple`, `mediaType`, `includeBase64`, `includeExif`, `compressImageMaxWidth`, `compressImageMaxHeight`, `compressImageQuality`, `freeStyleCropEnabled`, `cropperCircleOverlay` 등이 포함되어 있습니다. 전체 목록은 README를 참조하십시오.
## 응답
선택된 각 자산에는 `path`, `width`, `height`, `mime`, `size`, `duration`(동영상의 경우), `data`(base64인 경우), `exif`, `cropRect`와 같은 속성이 포함됩니다. iOS에서는 또한 `localIdentifier`, `sourceURL`, `creationDate`, `modificationDate`를 제공합니다.
## 참고 사항
- React Native 신규 아키텍처의 경우 버전 >= 0.50.0을 사용하십시오.
- Android에서는 동영상을 선택할 때 `cropping`을 `true`로 설정하지 마십시오. 갤러리에서 동영상이 숨겨질 수 있습니다.
- 이 모듈은 임시 파일을 생성하며, 이를 제거하려면 `clean()` 또는 `cleanSingle(path)`을 사용하십시오.
## 라이선스
MIT(저장소에서 암시되지만 제공된 README에는 명시되어 있지 않음).
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.