【Flutter】image_picker 버전 0.6.7 이상을 사용하여 이미지 선택

6343 단어 패키지DartFlutter
Flutter로 이미지를 선택한다고 하면 image_picker라고 하는 패키지를 사용하는군요.

그러나 버전이 0.6.7 이후부터 클래스가 변경되어 웹에서의 구현이 가능하게 되었다고 합니다.

따라서, image_picker 0.6.7 이후의 사용법을 샘플을 기초로 설명합니다.

샘플



FloatingActionButton을 탭하여 이미지를 선택하면 표시되는 샘플을 만들었습니다.


import 'dart:io';

import 'package:flutter/material.dart';
import 'package:image_picker/image_picker.dart';

class SampleImagePicker extends StatefulWidget {
  @override
  State<StatefulWidget> createState() => _SampleImagePicker();
}

class _SampleImagePicker extends State<SampleImagePicker> {
  File _image;

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('image_picker'),
      ),
      body: Center(
        child: _image == null ? Text('画像を選択してください') : Image.file(_image),
      ),
      floatingActionButton: FloatingActionButton(
        child: Icon(Icons.photo_album),
        onPressed: () {
          getImage();
        },
      ),
    );
  }

//画像を取得する
  getImage() async {
    PickedFile pickedFile = await ImagePicker().getImage(
      source: ImageSource.gallery,
    );
    if (pickedFile != null) {
      setState(() {
        _image = File(pickedFile.path);
      });
    }
  }
}

설명



0.6.7 이전에는File image = await ImagePicker.pickImage(source: ImageSource.gallery);라는 코드로 이미지를 장치의 이미지 라이브러리에서 가져올 수있었습니다.

그러나 0.6.7 이후에는
PickedFile pickedFile = await ImagePicker().getImage(source: ImageSource.gallery);

됩니다. File 에서 PickedFile 라는 클래스로 변경하고 있습니다.
_image = File(pickedFile.path)

이 방법으로 PickedFilepath 에서 File 로 변환할 수 있습니다.

getImage 속에서
- imageQuality : 이미지 크기
- maxWidth : 가로 최대값
- maxHeight : 세로 최대값
또한 지정할 수 있습니다 (이것은 0.6.2 + 2 이상)

마지막으로
  • 비디오 캡처
  • PickedFile video = await ImagePicker().getVideo(source: ImageSource.gallery);
    

    좋은 웹페이지 즐겨찾기