// 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 이런 패키지 설치하면 이미지에 필터도 씌울 수 있다.
선택한 이미지 다루기
이미지는 용량이 크기 때문에 이미지를 변수에 저장해놓고 쓰는게 아니라 이미지의 경로만 가져와서 변수에 저장하고 쓰는게 일반적이다.
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 |