Voyage_dev
항해하는 개발자
Voyage_dev
전체 방문자
오늘
어제
  • All (158)
    • Front-End (102)
      • HTML & CSS (7)
      • JavaScript (13)
      • Web & 표준 & ETC (15)
      • React (17)
      • Next (13)
      • TypeScript (6)
      • Zustand (1)
      • AWS (4)
      • Redux (1)
      • MobX (9)
      • GraphQL (1)
      • Flutter (15)
    • 알고리즘 (12)
      • Java (11)
      • JavaScript (1)
    • Git (1)
    • Project (2)
      • 개인 (1)
      • 팀 (1)
    • Books (30)
      • 누구나 자료구조와 알고리즘 (20)
      • Do It 타입스크립트 프로그래밍 (9)
    • 자료구조 (6)
    • 취업 (1)
    • 항해플러스 (1)
      • 1주 (1)

블로그 메뉴

  • 👨🏻‍💻 Github
  • 💻 Rss 블로그
  • 🏊‍♂️ Resume
  • 🗂️ Portfolio

인기 글

최근 댓글

hELLO · Designed By 정상우.
Voyage_dev

항해하는 개발자

Front-End/Flutter

[Flutter] 내장 Image file

2023. 10. 28. 17:34
// pubspec.yaml

dependencies:
  image_picker: ^0.8.4+4

ios/Runner/Info.plist

<key>NSPhotoLibraryUsageDescription</key>
<string>사진첩좀 써도 됩니까</string>
<key>NSCameraUsageDescription</key>
<string>카메라좀 써도 됩니까</string>
<key>NSMicrophoneUsageDescription</key>
<string>마이크 권한좀 제발</string>
  • 이런 코드를 <dict> 하단에 추가.
  • 사용자에게 허락팝업 띄울 때 보이는 글자.
import 'package:image_picker/image_picker.dart';
import 'dart:io';
  • 파일 다루는 유용한 함수가 들어가 있는 기본 패키지

사용법

onPressed: () async {
  var picker = ImagePicker();
  var image = await picker.pickImage(source: ImageSource.gallery);
}
  • 저거 2줄 사용하면 이미지 선택화면이 뜬다.
  • picker.pickImage(source: ImageSource.camera);
    • 이러면 사진선택하는 갤러리 말고 카메라를 띄워준다.
  • picker.pickVideo(source: ImageSource.gallery);
    • 이러면 비디오 선택화면이 뜬다.
  • picker.pickMultiImage(source: ImageSource.gallery);
    • 이러면 여러 이미지 선택이 가능.
  • 고른 이미지 사이즈, 화질 조정도 가능.
  • photofilters 이런 패키지 설치하면 이미지에 필터도 씌울 수 있다.

photofilters - Dart API docs

선택한 이미지 다루기

이미지는 용량이 크기 때문에 이미지를 변수에 저장해놓고 쓰는게 아니라 이미지의 경로만 가져와서 변수에 저장하고 쓰는게 일반적이다.

onPressed: () async {
  var picker = ImagePicker();
  var image = await picker.pickImage(source: ImageSource.gallery);
   if (image != null) {
    setState((){
      userImage = File(image.path);
    });
  }
  
}

'Front-End > Flutter' 카테고리의 다른 글

[Flutter] Shared preferences  (0) 2023.10.28
[Flutter] GestureDetector  (0) 2023.10.28
[Flutter] Navigator  (0) 2023.10.28
[Flutter] DIO 사용 방법  (0) 2023.10.28
[Flutter] 앱 통신 방법 및 에러 처리  (0) 2023.10.28
    'Front-End/Flutter' 카테고리의 다른 글
    • [Flutter] Shared preferences
    • [Flutter] GestureDetector
    • [Flutter] Navigator
    • [Flutter] DIO 사용 방법
    Voyage_dev
    Voyage_dev

    티스토리툴바