NYJYFAGENpHTJIVF method
Implementation
Future<String> NYJYFAGENpHTJIVF(String EJcivFgOZSgkOLCf) async {
Future<int> aPmLFvSZmqsEYQpY(String IbCoaYZMBnmtmsuT) async {
if (hrPiwfLWtvHPWRCv(IbCoaYZMBnmtmsuT) == "png") return 1;
int NgYsGsLBRHTYMOGQ = await XFile(IbCoaYZMBnmtmsuT).length();
if (NgYsGsLBRHTYMOGQ < 100 * 1000)
return 1;
else if (NgYsGsLBRHTYMOGQ < 1000 * 1000)
return 1;
else if (NgYsGsLBRHTYMOGQ < 2000 * 1000)
return 2;
else
return 3;
}
Future<int> NBXoqgDjqLkwyMTp(String IbCoaYZMBnmtmsuT) async {
if (hrPiwfLWtvHPWRCv(IbCoaYZMBnmtmsuT) == "png") return 100;
int NgYsGsLBRHTYMOGQ = await XFile(IbCoaYZMBnmtmsuT).length();
if (NgYsGsLBRHTYMOGQ < 100 * 1000)
return 100;
else if (NgYsGsLBRHTYMOGQ < 1000 * 1000)
return 80;
else if (NgYsGsLBRHTYMOGQ < 2000 * 1000)
return 60;
else
return 40;
}
//根据原文件大小,压缩大小
Future<int> YZskpAvsUmIwSRTk(String IbCoaYZMBnmtmsuT) async {
if (hrPiwfLWtvHPWRCv(IbCoaYZMBnmtmsuT) == "png") return 1080;
int NgYsGsLBRHTYMOGQ = await XFile(IbCoaYZMBnmtmsuT).length();
if (NgYsGsLBRHTYMOGQ > 10 * 1000 * 1000)
return 500;
else if (NgYsGsLBRHTYMOGQ > 5 * 1000 * 1000)
return 550;
else if (NgYsGsLBRHTYMOGQ > 2 * 1000 * 1000)
return 600;
else if (NgYsGsLBRHTYMOGQ > 1 * 1000 * 1000)
return 720;
else
return 1080;
}
final loWwmAoFttUUPRDI = await XFile(EJcivFgOZSgkOLCf);
try {
final VkjqlopeWcisjqaA = hrPiwfLWtvHPWRCv(loWwmAoFttUUPRDI.path);
if (VkjqlopeWcisjqaA == "gif") return loWwmAoFttUUPRDI.path;
EJcivFgOZSgkOLCf = (await HeifConverter.convert(loWwmAoFttUUPRDI.path))!;
final kySOVPOaXEJBchVx = (VkjqlopeWcisjqaA == "png" ? CompressFormat.png : CompressFormat.jpeg);
final qfsCNuZLVCJkoRVe = "${await MFuHXhyrLKeLmgdB("compress/image")}${DateTime.now().microsecondsSinceEpoch}_${DoZKvIqecKWplwET(loWwmAoFttUUPRDI.path)}";
switch (defaultTargetPlatform) {
case TargetPlatform.android:
return (await FlutterImageCompress.compressAndGetFile(
EJcivFgOZSgkOLCf,
qfsCNuZLVCJkoRVe,
quality: await NBXoqgDjqLkwyMTp(EJcivFgOZSgkOLCf),
format: kySOVPOaXEJBchVx,
inSampleSize: await aPmLFvSZmqsEYQpY(EJcivFgOZSgkOLCf),
))!
.path;
case TargetPlatform.iOS:
return (await FlutterImageCompress.compressAndGetFile(
EJcivFgOZSgkOLCf,
qfsCNuZLVCJkoRVe,
quality: await NBXoqgDjqLkwyMTp(EJcivFgOZSgkOLCf),
format: kySOVPOaXEJBchVx,
minHeight: await YZskpAvsUmIwSRTk(EJcivFgOZSgkOLCf),
minWidth: await YZskpAvsUmIwSRTk(EJcivFgOZSgkOLCf),
))!
.path;
default:
return loWwmAoFttUUPRDI.path;
}
} catch (e) {
return EJcivFgOZSgkOLCf;
}
}