このプロジェクトについて
# 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.