【React Native】画像のトリミングを行えるライブラリ「react-native-image-crop-picker」

画像をカメラもしくはアルバムから選択した際、任意の場所でトリミングを行いたいということがあると思います。
現在開発中のアプリでもそういったご要望があったため、画像トリミング機能を「react-native-image-crop-picker」というライブラリで実装しています。

GitHub のページはこちら。

GitHub – ivpusic/react-native-image-crop-picker: iOS/Android image picker with support for camera, video, configurable compression, multiple images and cropping
https://github.com/ivpusic/react-native-image-crop-picker

 

実装方法ですが、まずライブラリを下記のコマンドでインストールします。

npm install --save react-native-image-crop-picker
npx pod-install

なお、iOS の場合は、2行目のコマンドも実行してください。

上記が完了したら、実際にコードを機能を追加していきます。
まず、下記のインポート文を追加し、ライブラリをインポートします。

import ImagePicker from 'react-native-image-crop-picker';

あとは、任意のタイミングで下記を実行すればOKです!

// 画像アルバムから写真を選択し、トリミングを行う
ImagePicker.openPicker({
  width: 1000,
  height: 1000,
  cropping: true
}).then(image => {
  // 画像トリミング後に行いたい処理を記述
  console.log(image);
});
// カメラで写真を撮影し、トリミングを行う
ImagePicker.openCamera({
  width: 1000,
  height: 1000,
  cropping: true
}).then(image => {
  // 画像トリミング後に行いたい処理を記述
  console.log(image);
});

なお、実際のトリミングの画面はこんな感じ。
ちなみに iOS です。

width, height に、それぞれ 1000 を指定しているため、正方形にトリミング出来るようになっています。

トリミング後を行った後のレスポンス image には、image.path にトリミング後の画像パスが含まれているため、こちらを <Image /> に渡してあげれば処理後の画像を表示することができます。
レスポンスの内容については、GitHub にまとめられてるので、そちらをご参考ください。

 

以上、React Native で画像のトリミング機能を実装できるライブラリ「react-native-image-crop-picker」のご紹介でした。
ご参考になれば幸いです。

>株式会社シーポイントラボ

株式会社シーポイントラボ

TEL:053-543-9889
営業時間:9:00~18:00(月〜金)
住所:〒432-8003
   静岡県浜松市中央区和地山3-1-7
   浜松イノベーションキューブ 315
※ご来社の際はインターホンで「316」をお呼びください

CTR IMG