C# : Comment calculer le ratio d'aspect
Je suis relativement nouveau à la programmation. J'ai besoin de calculer le rapport d'aspect(16:9 ou 4:3) à partir d'une certaine dimension dire axb. Comment puis-je réaliser cela à l'aide de C#. Toute aide serait grandement appréciée.
public string AspectRatio(int x, int y)
{
//code am looking for
return ratio
}
Grâce.
Obtenir le rapport largeur / hauteur
double possible de Calculer un Ratio en C#
et il comprend que le même n'est pas si bonne solution.
double possible de Calculer un Ratio en C#
et il comprend que le même n'est pas si bonne solution.
OriginalL'auteur user1321391 | 2012-04-09
Vous devez vous connecter pour publier un commentaire.
Vous avez besoin de trouver le Plus grand Commun Diviseur, et de diviser à la fois x et y par elle.
PS
Si vous le souhaitez pour gérer quelque chose comme 16:10 (qui peut être divisé par deux, 8:5 sera renvoyée à l'aide de la méthode ci-dessus), vous devez avoir une table des prédéfinis
((float)x)/y
-rapport d'aspect pairesCela ne parvient pas pour le ratio
16:10
... 😉Pauvres utilisateurs d'ordinateurs portables avec, 1366x768 résolution =(
OriginalL'auteur Pavel Krymets
Puisque vous n'avez plus à choisir entre 16:9 et 4:3, voici une solution beaucoup plus simple.
OriginalL'auteur Jack
Il y a seulement quelques ratios standards comme:
4:3
,5:4
,16:10
,16:9
.GCD
est une bonne idée, mais ce sera un échec pour au moins16:10
ratios et1366x768
résolution.Pur algorithme de PGCD obtiendrez
683:384
de 1366x768, cause 683 est un nombre premier, alors que la résolution est de près de 16:9 (16.0078125).Je suppose, que pour les tâches réelles, on devra mettre en œuvre plutôt compliqué algorithme:
Essayez d'abord connu des proportions (chercher à wikipédia), permettant à quelques erreurs et seulement ensuite utiliser le PGCD comme solution de repli.
N'oubliez pas 32:10 😉
OriginalL'auteur kirilloid
Vous avez besoin pour trouver le PGCD (http://en.wikipedia.org/wiki/Greatest_common_divisor) et ensuite:
Cela ne parvient pas pour le ratio
16:10
... 😉16:10
aussi connu comme8:5
🙂ce
V4Vendetta
dit (:Oh wow le ownage.
OriginalL'auteur Roee Gavirel