public static ImageEngineFormat FindFormatInString(string stringWithFormatInIt)
{
ImageEngineFormat detectedFormat = ImageEngineFormat.Unknown;
foreach (var formatName in Enum.GetNames(typeof(ImageEngineFormat)))
{
string actualFormat = formatName.Replace("DDS_", "");
bool check = stringWithFormatInIt.Contains(actualFormat, StringComparison.OrdinalIgnoreCase);
if (actualFormat.Contains("3Dc"))
check = stringWithFormatInIt.Contains("3dc", StringComparison.OrdinalIgnoreCase) || stringWithFormatInIt.Contains("ati2", StringComparison.OrdinalIgnoreCase);
else if (actualFormat == "A8L8")
check = stringWithFormatInIt.Contains("L8", StringComparison.OrdinalIgnoreCase) && !stringWithFormatInIt.Contains("G", StringComparison.OrdinalIgnoreCase);
else if (actualFormat == "G8_L8")
check = !stringWithFormatInIt.Contains("A", StringComparison.OrdinalIgnoreCase) && stringWithFormatInIt.Contains("G8", StringComparison.OrdinalIgnoreCase);
else if (actualFormat.Contains("ARGB"))
check = stringWithFormatInIt.Contains("A8R8G8B8", StringComparison.OrdinalIgnoreCase) || stringWithFormatInIt.Contains("ARGB", StringComparison.OrdinalIgnoreCase);
if (check)
{
detectedFormat = (ImageEngineFormat)Enum.Parse(typeof(ImageEngineFormat), formatName);
break;
}
}
return detectedFormat;
}