パッケージ、リポジトリ、アプリカテゴリを検索

パッケージ詳細v2.0.6

image_pickers

image_pickers はローカルの画像または動画の複数選択をサポートし、ネットワーク上の画像や動画をアルバムに保存することを可能にし、画像や動画のプレビューもサポートしています

AndroidiOS
30日間ダウンロード
1960
いいね数
96
Pub ポイント
140

パッケージをインストール

flutter pub add image_pickers

パッケージ概要

公開情報に基づく選定ガイドです。参考としてご利用ください。

image_pickers は、Flutter パッケージで、ユーザーが複数のローカル画像または動画を選択し、ネットワークベースのメディアをデバイスのアルバムに保存し、アプリ内で画像と動画を直接プレビューできるようにします。Android および iOS プラットフォームをサポートしており、シームレスなマルチメディア選択体験を提供します。さまざまなソースからのメディアファイルの取り扱いを簡素化し、豊富なメディア入力が必要なアプリに最適です。ネイティブプラットフォーム機能との統合により、スムーズなパフォーマンスと信頼性の高いファイル管理が実現されます。

用途

  • 複数の画像および動画の選択
  • オンライン画像/動画をデバイスのアルバムに保存する
  • アップロード前に選択したメディアをプレビューする
  • 写真または動画共有アプリの構築
  • ユーザープロファイルにメディアキャプチャを統合する

主な機能

  • 複数のローカルメディア選択をサポート
  • ネットワークメディアをデバイスのアルバムに保存します
  • 組み込みのメディアプレビュー機能
  • クロスプラットフォーム互換性(Android および iOS)
  • pub add コマンドによる簡単な統合

適している対象

  • ソーシャルメディアアプリ
  • 写真編集ツール
  • ユーザープロフィールのカスタマイズ
  • コンテンツ作成プラットフォーム
  • EC商品のアップロード

注意事項

  • メディアアクセスに適切な権限が必要です
  • 大容量のメディアファイルに対して追加の処理が必要になる場合があります
  • Android および iOS プラットフォームに限定
  • ネイティブプラットフォーム機能に依存
  • 高解像度メディアによるメモリ使用量の可能性

元の README

関連するソースリポジトリの README 原文のスナップショットです。最新の内容はリポジトリをご覧ください。

image_pickers

image_pickers支持本地图片多选,本地视频多选,支持将网络图片保存到相册,支持截图保存到相册,支持将网络视频保存到相册,支持预览视频和预览图片功能,支持主题颜色设置

image pickers support multi-selection of local pictures, multi-selection of local videos, support for saving network pictures to albums, support for saving screenshots to albums, support for saving network videos to albums, support for preview videos and preview images, and support for theme color settings

Supported Platforms

  • Android
  • iOS

iOS : platform :ios, '10.0'

注意 ---> Android请指定您项目中 : targetSdkVersion 34 compileSdkVersion 34,否则 Android 13 可能会出现 无法正常访问图片!

注意 ---> Android请指定您项目中 : targetSdkVersion 34 compileSdkVersion 34,否则 Android 13 可能会出现 无法正常访问图片!

注意 ---> Android请指定您项目中 : targetSdkVersion 34 compileSdkVersion 34,否则 Android 13 可能会出现 无法正常访问图片!

How to Use

# add this line to your dependencies
image_pickers: ^2.0.6
import 'package:image_pickers/image_pickers.dart';


///选择多张图片 Select multiple images
Future<void> selectImages() async {
    List<Media> _listImagePaths = await ImagePickers.pickerPaths(
              galleryMode: GalleryMode.image,
              selectCount: 2,
              showGif: false,
              showCamera: true,
              compressSize: 500,
              uiConfig: UIConfig(uiThemeColor: Color(0xffff0f50)),
              cropConfig: CropConfig(enableCrop: false, width: 2, height: 1));
  }

/// 或者 or
ImagePickers.pickerPaths().then((List medias){
      /// medias 照片路径信息 Photo path information
    });

///选择多个视频 Select multiple videos
Future<void> selectVideos() async {
   List<Media> _listVideoPaths = await ImagePickers.pickerPaths(
          galleryMode: GalleryMode.video,
          selectCount: 5,
        );
  }
///直接打开相机拍摄图片 Open the camera directly to take a picture
ImagePickers.openCamera().then((Media? media){
    /// media 包含照片路径信息 Include photo path information
    /// 未拍照返回 media = null
    if(media != null){
        
    }
  });

///直接打开相机拍摄视频 Open the camera directly to shoot the video
ImagePickers.openCamera(cameraMimeType: CameraMimeType.video).then((media){
    /// media 包含视频路径信息 Contains video path information
    /// 未拍摄视频返回 media = null
    if(media != null){
            
    }
  });

///预览图片 Preview picture
ImagePickers.previewImage(_listImagePaths[index].path);

///预览多张图片或视频 Preview multiple pictures or videos
ImagePickers.previewImagesByMedia(_listImagePaths,index);
///预览多张图片或视频  Preview multiple pictures or videos
ImagePickers.previewImages(paths,index);

///预览视频 Preview video
ImagePickers.previewVideo(_listVideoPaths[index].path);
///保存图片到图库 Save image to gallery
ImagePickers.saveImageToGallery("http://i1.sinaimg.cn/ent/d/2008-06-04/U105P28T3D2048907F326DT20080604225106.jpg");
/// 保存截图图片 ByteData 到图库 Save screenshot image ByteData to gallery
RenderRepaintBoundary boundary = globalKey.currentContext.findRenderObject();
ui.Image image = await boundary.toImage(pixelRatio: 3);
ByteData byteData = await image.toByteData(format: ui.ImageByteFormat.png);
Uint8List data = byteData.buffer.asUint8List();

String dataImagePath = await ImagePickers.saveByteDataImageToGallery(data,);

///保存视频到图库 Save video to gallery
ImagePickers.saveVideoToGallery("http://xxxx/xx/xx.mp4");

iOS

Add the following entry to your Info.plist file, located in /Info.plist :

<key>NSAppTransportSecurity</key>
<dict>
    <key>NSAllowsArbitraryLoads</key>
    <true/>
</dict>
<key>NSMicrophoneUsageDescription</key>
<string>...</string>
<key>NSPhotoLibraryAddUsageDescription</key>
<string>...</string>
<key>NSCameraUsageDescription</key>
<string>...</string>
<key>NSPhotoLibraryUsageDescription</key>
<string>...</string>

カテゴリー

ソースリポジトリ

このパッケージを使用しているプロジェクト