lhISGEpwyibWPTmd method
Implementation
Future<String> lhISGEpwyibWPTmd(String WXniNDENIblUblCM) async {
Future<int> uFCWSEBmUgIKiLch(String jxlUeIvpmxeVZUyt) async {
if (ChzkCROILukIzvyk(jxlUeIvpmxeVZUyt) == "png") return 1;
int RYUwmOiPOprqwvGD = await XFile(jxlUeIvpmxeVZUyt).length();
if (RYUwmOiPOprqwvGD < 100 * 1000)
return 1;
else if (RYUwmOiPOprqwvGD < 1000 * 1000)
return 1;
else if (RYUwmOiPOprqwvGD < 2000 * 1000)
return 2;
else
return 3;
}
Future<int> ngJtDNoqrSezJNtG(String jxlUeIvpmxeVZUyt) async {
if (ChzkCROILukIzvyk(jxlUeIvpmxeVZUyt) == "png") return 100;
int RYUwmOiPOprqwvGD = await XFile(jxlUeIvpmxeVZUyt).length();
if (RYUwmOiPOprqwvGD < 100 * 1000)
return 100;
else if (RYUwmOiPOprqwvGD < 1000 * 1000)
return 80;
else if (RYUwmOiPOprqwvGD < 2000 * 1000)
return 60;
else
return 40;
}
//根据原文件大小,压缩大小
Future<int> VARIGPDftseyrlkZ(String jxlUeIvpmxeVZUyt) async {
if (ChzkCROILukIzvyk(jxlUeIvpmxeVZUyt) == "png") return 1080;
int RYUwmOiPOprqwvGD = await XFile(jxlUeIvpmxeVZUyt).length();
if (RYUwmOiPOprqwvGD > 10 * 1000 * 1000)
return 500;
else if (RYUwmOiPOprqwvGD > 5 * 1000 * 1000)
return 550;
else if (RYUwmOiPOprqwvGD > 2 * 1000 * 1000)
return 600;
else if (RYUwmOiPOprqwvGD > 1 * 1000 * 1000)
return 720;
else
return 1080;
}
final TPcCzoIqjsEjTlVM = await XFile(WXniNDENIblUblCM);
try {
final ffEsQkwkrBQfTbNL = ChzkCROILukIzvyk(TPcCzoIqjsEjTlVM.path);
if (ffEsQkwkrBQfTbNL == "gif") return TPcCzoIqjsEjTlVM.path;
WXniNDENIblUblCM = (await HeifConverter.convert(TPcCzoIqjsEjTlVM.path))!;
final PECqlNdqaaTLMxEj = (ffEsQkwkrBQfTbNL == "png" ? CompressFormat.png : CompressFormat.jpeg);
final LUTFaVpotjQgcZVu = "${await zbeZcAQrghnkaQCD("compress/image")}${DateTime.now().microsecondsSinceEpoch}_${nmKigrIZVFWVvmqG(TPcCzoIqjsEjTlVM.path)}";
switch (defaultTargetPlatform) {
case TargetPlatform.android:
return (await FlutterImageCompress.compressAndGetFile(
WXniNDENIblUblCM,
LUTFaVpotjQgcZVu,
quality: await ngJtDNoqrSezJNtG(WXniNDENIblUblCM),
format: PECqlNdqaaTLMxEj,
inSampleSize: await uFCWSEBmUgIKiLch(WXniNDENIblUblCM),
))!
.path;
case TargetPlatform.iOS:
return (await FlutterImageCompress.compressAndGetFile(
WXniNDENIblUblCM,
LUTFaVpotjQgcZVu,
quality: await ngJtDNoqrSezJNtG(WXniNDENIblUblCM),
format: PECqlNdqaaTLMxEj,
minHeight: await VARIGPDftseyrlkZ(WXniNDENIblUblCM),
minWidth: await VARIGPDftseyrlkZ(WXniNDENIblUblCM),
))!
.path;
default:
return TPcCzoIqjsEjTlVM.path;
}
} catch (e) {
return WXniNDENIblUblCM;
}
}