Buscar pacotes, repositórios e categorias de apps

Detalhes do pacotev2.0.6

image_pickers

image_pickers suporta seleção múltipla de imagens ou vídeos locais, suporta salvar imagens ou vídeos da rede em álbuns e suporta visualização prévia de vídeos ou imagens

AndroidiOS
Downloads em 30 dias
2 mil
Curtidas
96
Pontos Pub
140

Instalar pacote

flutter pub add image_pickers

Visão geral do pacote

Orientação gerada a partir de informações públicas. Apenas para referência.

image_pickers é um pacote Flutter que permite aos usuários selecionar múltimas imagens ou vídeos locais, salvar mídias baseadas em rede nas galerias do dispositivo e visualizar imagens e vídeos diretamente dentro do aplicativo. Ele suporta plataformas Android e iOS, oferecendo uma experiência de seleção multimídia sem interrupções. O pacote simplifica o manuseio de arquivos de mídia de várias fontes, tornando-o ideal para aplicativos que exigem entrada rica em mídia. Sua integração com recursos nativos das plataformas garante desempenho fluido e gerenciamento confiável de arquivos.

Casos de uso

  • Seleção múltipla de imagens e vídeos
  • Salvando imagens/vídeos online para álbuns do dispositivo
  • Visualizar a mídia selecionada antes de fazer o upload
  • Construindo aplicativos de compartilhamento de fotos ou vídeos
  • Integrando a captura de mídia nos perfis de usuário

Principais recursos

  • Suporte à seleção múltipla de mídia local
  • Salva mídia de rede para álbuns do dispositivo
  • Funcionalidade de visualização de mídia embutida
  • Compatibilidade multiplataforma (Android e iOS)
  • Integração simples por meio do comando pub add

Indicado para

  • Aplicativos de redes sociais
  • Ferramentas de edição de foto
  • Personalização do perfil do usuário
  • Plataformas de criação de conteúdo
  • Envio de produtos para comércio eletrônico

Considerações

  • Requer permissões apropriadas para acesso a mídia
  • Pode ser necessário tratamento adicional para arquivos de mídia grandes
  • Limitado a plataformas Android e iOS
  • Depende de recursos nativos da plataforma
  • Uso potencial de memória com mídia de alta resolução

README original

Snapshot do README original do repositório-fonte vinculado. Consulte o repositório para o conteúdo mais recente.

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>

Categorias

Repositório-fonte

Projetos que usam este pacote