mirror of
https://github.com/HChaZZY/PiliPlus.git
synced 2025-12-21 01:26:59 +08:00
opt image crop
Signed-off-by: bggRGjQaUbCoE <githubaccount56556@proton.me>
This commit is contained in:
@@ -5,6 +5,7 @@ import 'package:PiliPlus/models_new/fav/fav_folder/list.dart';
|
||||
import 'package:PiliPlus/utils/extension.dart';
|
||||
import 'package:PiliPlus/utils/fav_utils.dart';
|
||||
import 'package:PiliPlus/utils/image_utils.dart';
|
||||
import 'package:PiliPlus/utils/utils.dart';
|
||||
import 'package:cached_network_image/cached_network_image.dart';
|
||||
import 'package:easy_debounce/easy_throttle.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
@@ -115,44 +116,48 @@ class _CreateFavPageState extends State<CreateFavPage> {
|
||||
imageQuality: 100,
|
||||
);
|
||||
if (pickedFile != null && mounted) {
|
||||
CroppedFile? croppedFile = await ImageCropper().cropImage(
|
||||
sourcePath: pickedFile.path,
|
||||
uiSettings: [
|
||||
AndroidUiSettings(
|
||||
toolbarTitle: '裁剪',
|
||||
toolbarColor: theme.colorScheme.secondaryContainer,
|
||||
toolbarWidgetColor: theme.colorScheme.onSecondaryContainer,
|
||||
statusBarLight: theme.colorScheme.brightness.isLight,
|
||||
aspectRatioPresets: [CropAspectRatioPreset.ratio16x9],
|
||||
lockAspectRatio: true,
|
||||
hideBottomControls: true,
|
||||
initAspectRatio: CropAspectRatioPreset.ratio16x9,
|
||||
),
|
||||
IOSUiSettings(
|
||||
title: '裁剪',
|
||||
// aspectRatioPresets: [CropAspectRatioPreset.ratio16x9],
|
||||
// aspectRatioLockEnabled: false,
|
||||
// resetAspectRatioEnabled: false,
|
||||
// aspectRatioPickerButtonHidden: true,
|
||||
),
|
||||
],
|
||||
);
|
||||
if (croppedFile != null) {
|
||||
MsgHttp.uploadImage(
|
||||
path: croppedFile.path,
|
||||
bucket: 'medialist',
|
||||
dir: 'cover',
|
||||
).then((res) {
|
||||
if (context.mounted) {
|
||||
if (res['status']) {
|
||||
_cover = res['data']['location'];
|
||||
(context as Element).markNeedsBuild();
|
||||
} else {
|
||||
SmartDialog.showToast(res['msg']);
|
||||
}
|
||||
}
|
||||
});
|
||||
String imgPath = pickedFile.path;
|
||||
if (Utils.isMobile) {
|
||||
CroppedFile? croppedFile = await ImageCropper.platform.cropImage(
|
||||
sourcePath: pickedFile.path,
|
||||
uiSettings: [
|
||||
AndroidUiSettings(
|
||||
toolbarTitle: '裁剪',
|
||||
toolbarColor: theme.colorScheme.secondaryContainer,
|
||||
toolbarWidgetColor: theme.colorScheme.onSecondaryContainer,
|
||||
statusBarLight: theme.colorScheme.brightness.isLight,
|
||||
aspectRatioPresets: [CropAspectRatioPreset.ratio16x9],
|
||||
lockAspectRatio: true,
|
||||
hideBottomControls: true,
|
||||
initAspectRatio: CropAspectRatioPreset.ratio16x9,
|
||||
),
|
||||
IOSUiSettings(
|
||||
title: '裁剪',
|
||||
// aspectRatioPresets: [CropAspectRatioPreset.ratio16x9],
|
||||
// aspectRatioLockEnabled: false,
|
||||
// resetAspectRatioEnabled: false,
|
||||
// aspectRatioPickerButtonHidden: true,
|
||||
),
|
||||
],
|
||||
);
|
||||
if (croppedFile != null) {
|
||||
imgPath = croppedFile.path;
|
||||
}
|
||||
}
|
||||
MsgHttp.uploadImage(
|
||||
path: imgPath,
|
||||
bucket: 'medialist',
|
||||
dir: 'cover',
|
||||
).then((res) {
|
||||
if (context.mounted) {
|
||||
if (res['status']) {
|
||||
_cover = res['data']['location'];
|
||||
(context as Element).markNeedsBuild();
|
||||
} else {
|
||||
SmartDialog.showToast(res['msg']);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
} catch (e) {
|
||||
SmartDialog.showToast(e.toString());
|
||||
|
||||
Reference in New Issue
Block a user