Соотношение сторон - это просто отношение разрешения. Таким образом, вам (просто) нужно найти Величайший общий делитель ширины и высоты, разделить оба значения на делитель, и тогда вы получите соотношение.
Например, 1600x720 -> GCD: 80 -> 1600/80 = 20, 720/80 = 9 -> соотношение сторон: 20: 9
Существует множество существующих алгоритмов для решения проблемы общего делителя, и уже существуют некоторые реализации, которые вы можно использовать.
Пример исходного кода здесь:
int gcd=find_greatest_common_divisor_of_two_number(widths[i], heights[i]);
String ratio =(widths[i]/gcd)+":"+(heights[i]/gcd);
private static int find_greatest_common_divisor_of_two_number(int number1, int number2) {
//base case
if(number2 == 0){
return number1;
}
return find_greatest_common_divisor_of_two_number(number2, number1%number2);
}