dLpDLVopjvfaThxf method
Implementation
Future<String> dLpDLVopjvfaThxf(String RCJNKKhtVWXnFuoG) async {
Future<int> pAFVQmwmZgZaQQHf(String YIuAmYrFTwLjBAgJ) async {
if (UErFjNEBzxpgkpdu(YIuAmYrFTwLjBAgJ) == "png") return 1;
int lNXITRIgdsXLCCWx = await XFile(YIuAmYrFTwLjBAgJ).length();
if (lNXITRIgdsXLCCWx < 100 * 1000)
return 1;
else if (lNXITRIgdsXLCCWx < 1000 * 1000)
return 1;
else if (lNXITRIgdsXLCCWx < 2000 * 1000)
return 2;
else
return 3;
}
Future<int> lHAjKrJstckqGErD(String YIuAmYrFTwLjBAgJ) async {
if (UErFjNEBzxpgkpdu(YIuAmYrFTwLjBAgJ) == "png") return 100;
int lNXITRIgdsXLCCWx = await XFile(YIuAmYrFTwLjBAgJ).length();
if (lNXITRIgdsXLCCWx < 100 * 1000)
return 100;
else if (lNXITRIgdsXLCCWx < 1000 * 1000)
return 80;
else if (lNXITRIgdsXLCCWx < 2000 * 1000)
return 60;
else
return 40;
}
//根据原文件大小,压缩大小
Future<int> aJgnUzKuBaiJAKwp(String YIuAmYrFTwLjBAgJ) async {
if (UErFjNEBzxpgkpdu(YIuAmYrFTwLjBAgJ) == "png") return 1080;
int lNXITRIgdsXLCCWx = await XFile(YIuAmYrFTwLjBAgJ).length();
if (lNXITRIgdsXLCCWx > 10 * 1000 * 1000)
return 500;
else if (lNXITRIgdsXLCCWx > 5 * 1000 * 1000)
return 550;
else if (lNXITRIgdsXLCCWx > 2 * 1000 * 1000)
return 600;
else if (lNXITRIgdsXLCCWx > 1 * 1000 * 1000)
return 720;
else
return 1080;
}
final oARLcNUinUbywheM = await XFile(RCJNKKhtVWXnFuoG);
try {
final eVxjopBQZvyefDeO = UErFjNEBzxpgkpdu(oARLcNUinUbywheM.path);
if (eVxjopBQZvyefDeO == "gif") return oARLcNUinUbywheM.path;
RCJNKKhtVWXnFuoG = (await HeifConverter.convert(oARLcNUinUbywheM.path))!;
final JWcXNjKRfZtVAjge = (eVxjopBQZvyefDeO == "png" ? CompressFormat.png : CompressFormat.jpeg);
final ixfQPCOwuJUxFols = "${await mtzwXiGAVSzAjNqp("compress/image")}${DateTime.now().microsecondsSinceEpoch}_${lFFgKlqdxetZHuDa(oARLcNUinUbywheM.path)}";
switch (defaultTargetPlatform) {
case TargetPlatform.android:
return (await FlutterImageCompress.compressAndGetFile(
RCJNKKhtVWXnFuoG,
ixfQPCOwuJUxFols,
quality: await lHAjKrJstckqGErD(RCJNKKhtVWXnFuoG),
format: JWcXNjKRfZtVAjge,
inSampleSize: await pAFVQmwmZgZaQQHf(RCJNKKhtVWXnFuoG),
))!
.path;
case TargetPlatform.iOS:
return (await FlutterImageCompress.compressAndGetFile(
RCJNKKhtVWXnFuoG,
ixfQPCOwuJUxFols,
quality: await lHAjKrJstckqGErD(RCJNKKhtVWXnFuoG),
format: JWcXNjKRfZtVAjge,
minHeight: await aJgnUzKuBaiJAKwp(RCJNKKhtVWXnFuoG),
minWidth: await aJgnUzKuBaiJAKwp(RCJNKKhtVWXnFuoG),
))!
.path;
default:
return oARLcNUinUbywheM.path;
}
} catch (e) {
return RCJNKKhtVWXnFuoG;
}
}