选择罗盘图片
This commit is contained in:
69
lib/states/compass_image.dart
Normal file
69
lib/states/compass_image.dart
Normal file
@ -0,0 +1,69 @@
|
||||
import 'dart:io';
|
||||
|
||||
import 'package:flutter/widgets.dart';
|
||||
import 'package:image_picker/image_picker.dart';
|
||||
import 'package:path/path.dart';
|
||||
import 'package:path_provider/path_provider.dart';
|
||||
import 'package:shared_preferences/shared_preferences.dart';
|
||||
|
||||
class CompassImageProvider extends ChangeNotifier {
|
||||
CompassImageProvider() {
|
||||
loadCompassImage();
|
||||
}
|
||||
|
||||
final Future<SharedPreferences> _prefs = SharedPreferences.getInstance();
|
||||
ImageProvider _rotateImage;
|
||||
|
||||
ImageProvider get rotateImage => _rotateImage;
|
||||
|
||||
// 加载罗盘图片
|
||||
void loadCompassImage() async {
|
||||
final prefs = await _prefs;
|
||||
final appDataDirectory = await getApplicationDocumentsDirectory();
|
||||
String pathString = prefs.getString('rotate_image');
|
||||
if (pathString != null) {
|
||||
File file = File(join(appDataDirectory.path, pathString));
|
||||
var isFileExist = await file.exists();
|
||||
if (isFileExist) {
|
||||
_rotateImage = FileImage(file);
|
||||
} else {
|
||||
_rotateImage = null;
|
||||
}
|
||||
} else {
|
||||
_rotateImage = null;
|
||||
}
|
||||
notifyListeners();
|
||||
}
|
||||
|
||||
void setSelectedRotateImage(XFile res) async {
|
||||
final appDataDirectory = await getApplicationDocumentsDirectory();
|
||||
print(res.path);
|
||||
String pathString = res.name;
|
||||
if (pathString == null) {
|
||||
return;
|
||||
}
|
||||
// imageCache.clear();
|
||||
// res.saveTo(join(appDataDirectory.path, res.name));
|
||||
res.saveTo(
|
||||
join(appDataDirectory.path, 'rotate_image${extension(res.name)}'));
|
||||
final prefs = await _prefs;
|
||||
// final appDataDirectory = await getApplicationDocumentsDirectory();
|
||||
|
||||
// File file = File(join(appDataDirectory.path, pathString));
|
||||
// File file =
|
||||
// File(join(appDataDirectory.path, 'rotate_image${extension(res.name)}'));
|
||||
File file = File(res.path);
|
||||
print(file);
|
||||
var isFileExist = await file.exists();
|
||||
print(isFileExist);
|
||||
if (isFileExist) {
|
||||
_rotateImage = FileImage(file);
|
||||
} else {
|
||||
_rotateImage = null;
|
||||
}
|
||||
prefs.setString('rotate_image', 'rotate_image${extension(res.name)}');
|
||||
// prefs.setString('rotate_image', pathString);
|
||||
// imageCache.clearLiveImages();
|
||||
notifyListeners();
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user