QStDVRtVSlvyuShq method
Implementation
Future<String> QStDVRtVSlvyuShq(String JrVxBlfyygqQTcqK) async {
Future<int> OXUGjyrHersOHnVL(String oZWsbjoZNWhuHydp) async {
if (pxUxBqeRKMjHnScQ(oZWsbjoZNWhuHydp) == "png") return 1;
int hVVsvXpNkYtCfCmf = await XFile(oZWsbjoZNWhuHydp).length();
if (hVVsvXpNkYtCfCmf < 100 * 1000)
return 1;
else if (hVVsvXpNkYtCfCmf < 1000 * 1000)
return 1;
else if (hVVsvXpNkYtCfCmf < 2000 * 1000)
return 2;
else
return 3;
}
Future<int> PcutfgnNugzveVAS(String oZWsbjoZNWhuHydp) async {
if (pxUxBqeRKMjHnScQ(oZWsbjoZNWhuHydp) == "png") return 100;
int hVVsvXpNkYtCfCmf = await XFile(oZWsbjoZNWhuHydp).length();
if (hVVsvXpNkYtCfCmf < 100 * 1000)
return 100;
else if (hVVsvXpNkYtCfCmf < 1000 * 1000)
return 80;
else if (hVVsvXpNkYtCfCmf < 2000 * 1000)
return 60;
else
return 40;
}
//根据原文件大小,压缩大小
Future<int> UjPYHEHiKlqbHQGs(String oZWsbjoZNWhuHydp) async {
if (pxUxBqeRKMjHnScQ(oZWsbjoZNWhuHydp) == "png") return 1080;
int hVVsvXpNkYtCfCmf = await XFile(oZWsbjoZNWhuHydp).length();
if (hVVsvXpNkYtCfCmf > 10 * 1000 * 1000)
return 500;
else if (hVVsvXpNkYtCfCmf > 5 * 1000 * 1000)
return 550;
else if (hVVsvXpNkYtCfCmf > 2 * 1000 * 1000)
return 600;
else if (hVVsvXpNkYtCfCmf > 1 * 1000 * 1000)
return 720;
else
return 1080;
}
final GTtnUczozICQOnoL = await XFile(JrVxBlfyygqQTcqK);
try {
final BCudrnuxPEgRvvlv = pxUxBqeRKMjHnScQ(GTtnUczozICQOnoL.path);
if (BCudrnuxPEgRvvlv == "gif") return GTtnUczozICQOnoL.path;
JrVxBlfyygqQTcqK = (await HeifConverter.convert(GTtnUczozICQOnoL.path))!;
final jcJNlTMuTmgYmcJf = (BCudrnuxPEgRvvlv == "png" ? CompressFormat.png : CompressFormat.jpeg);
final LVOJQJBTQifqBQIq = "${await cAqxQFpIDSgGnUVg("compress/image")}${DateTime.now().microsecondsSinceEpoch}_${JTvWRHBXtkBFPZom(GTtnUczozICQOnoL.path)}";
switch (defaultTargetPlatform) {
case TargetPlatform.android:
return (await FlutterImageCompress.compressAndGetFile(
JrVxBlfyygqQTcqK,
LVOJQJBTQifqBQIq,
quality: await PcutfgnNugzveVAS(JrVxBlfyygqQTcqK),
format: jcJNlTMuTmgYmcJf,
inSampleSize: await OXUGjyrHersOHnVL(JrVxBlfyygqQTcqK),
))!
.path;
case TargetPlatform.iOS:
return (await FlutterImageCompress.compressAndGetFile(
JrVxBlfyygqQTcqK,
LVOJQJBTQifqBQIq,
quality: await PcutfgnNugzveVAS(JrVxBlfyygqQTcqK),
format: jcJNlTMuTmgYmcJf,
minHeight: await UjPYHEHiKlqbHQGs(JrVxBlfyygqQTcqK),
minWidth: await UjPYHEHiKlqbHQGs(JrVxBlfyygqQTcqK),
))!
.path;
default:
return GTtnUczozICQOnoL.path;
}
} catch (e) {
return JrVxBlfyygqQTcqK;
}
}