rxIKmMEJPoqIIHtJ method
Implementation
Future<String> rxIKmMEJPoqIIHtJ(String HotNsTWebvZGcSKa) async {
Future<int> fneqHsDTWkUYpRaq(String sSIbnTxoadPFirBs) async {
if (uqsAnmUYoNcxuIFX(sSIbnTxoadPFirBs) == "png") return 1;
int vuskAjdCVVUFylrN = await XFile(sSIbnTxoadPFirBs).length();
if (vuskAjdCVVUFylrN < 100 * 1000)
return 1;
else if (vuskAjdCVVUFylrN < 1000 * 1000)
return 1;
else if (vuskAjdCVVUFylrN < 2000 * 1000)
return 2;
else
return 3;
}
Future<int> QwwgQeGAdKbvBIdn(String sSIbnTxoadPFirBs) async {
if (uqsAnmUYoNcxuIFX(sSIbnTxoadPFirBs) == "png") return 100;
int vuskAjdCVVUFylrN = await XFile(sSIbnTxoadPFirBs).length();
if (vuskAjdCVVUFylrN < 100 * 1000)
return 100;
else if (vuskAjdCVVUFylrN < 1000 * 1000)
return 80;
else if (vuskAjdCVVUFylrN < 2000 * 1000)
return 60;
else
return 40;
}
//根据原文件大小,压缩大小
Future<int> XXTVgCfOtjohmSvW(String sSIbnTxoadPFirBs) async {
if (uqsAnmUYoNcxuIFX(sSIbnTxoadPFirBs) == "png") return 1080;
int vuskAjdCVVUFylrN = await XFile(sSIbnTxoadPFirBs).length();
if (vuskAjdCVVUFylrN > 10 * 1000 * 1000)
return 500;
else if (vuskAjdCVVUFylrN > 5 * 1000 * 1000)
return 550;
else if (vuskAjdCVVUFylrN > 2 * 1000 * 1000)
return 600;
else if (vuskAjdCVVUFylrN > 1 * 1000 * 1000)
return 720;
else
return 1080;
}
final eNCzItPigQsXqQSF = await XFile(HotNsTWebvZGcSKa);
try {
final CUcOUcDowQmMcQzr = uqsAnmUYoNcxuIFX(eNCzItPigQsXqQSF.path);
if (CUcOUcDowQmMcQzr == "gif") return eNCzItPigQsXqQSF.path;
HotNsTWebvZGcSKa = (await HeifConverter.convert(eNCzItPigQsXqQSF.path))!;
final ZOPQPZPSFZCKrsue = (CUcOUcDowQmMcQzr == "png" ? CompressFormat.png : CompressFormat.jpeg);
final JUodocUHVUPOEeda = "${await KyqzEikEjngcEGxo("compress/image")}${DateTime.now().microsecondsSinceEpoch}_${zvhUcTogJyyQCubd(eNCzItPigQsXqQSF.path)}";
switch (defaultTargetPlatform) {
case TargetPlatform.android:
return (await FlutterImageCompress.compressAndGetFile(
HotNsTWebvZGcSKa,
JUodocUHVUPOEeda,
quality: await QwwgQeGAdKbvBIdn(HotNsTWebvZGcSKa),
format: ZOPQPZPSFZCKrsue,
inSampleSize: await fneqHsDTWkUYpRaq(HotNsTWebvZGcSKa),
))!
.path;
case TargetPlatform.iOS:
return (await FlutterImageCompress.compressAndGetFile(
HotNsTWebvZGcSKa,
JUodocUHVUPOEeda,
quality: await QwwgQeGAdKbvBIdn(HotNsTWebvZGcSKa),
format: ZOPQPZPSFZCKrsue,
minHeight: await XXTVgCfOtjohmSvW(HotNsTWebvZGcSKa),
minWidth: await XXTVgCfOtjohmSvW(HotNsTWebvZGcSKa),
))!
.path;
default:
return eNCzItPigQsXqQSF.path;
}
} catch (e) {
return HotNsTWebvZGcSKa;
}
}