このプロジェクトについて

# 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には明示されていません。)