C# : Wie berechne Seitenverhältnis
Ich bin relativ neu in der Programmierung. Ich muss berechnen das Seitenverhältnis(16:9 oder 4:3), die aus einer bestimmten dimension sagen axb. Wie kann ich erreichen, das mit C#. Jede Hilfe wäre wir sehr dankbar.
public string AspectRatio(int x, int y)
{
//code am looking for
return ratio
}
Dank.
- Holen Sie sich das Verhältnis der Breite zur Höhe
- mögliche Duplikate von Berechnen eines Verhältnisses in C#
- und es containts nur die gleichen nicht-so-gut-Lösung.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Müssen Sie finden, die Größten Gemeinsamen Teiler und dividieren beide x und y, indem Sie es.
PS
Wenn Sie es wollen, um mit etwas wie 16:10 (können durch zwei geteilt werden, 8:5 zurückgegeben werden mit der Methode oben), die Sie benötigen, um eine Tabelle der vordefinierten
((float)x)/y
-Seitenverhältnis Paare16:10
... 😉Da brauchen Sie nur zu entscheiden zwischen 16:9 und 4:3, hier ist eine viel einfachere Lösung.
Es sind nur einige standard-Kennzahlen wie:
4:3
,5:4
,16:10
,16:9
.GCD
ist eine gute Idee, aber es wird nicht für mindestens16:10
Verhältnisse und die1366x768
Auflösung.Reine GCD-Algorithmus erhalten
683:384
für 1366 x 768 Pixel, Ursache 683 ist ein Paradebeispiel, während die Auflösung ist fast 16:9 (16.0078125).Nehme ich an, dass für die eigentlichen Aufgaben, wird man die Notwendigkeit zur Umsetzung eher komplizierten Algorithmus:
Ersten versuchen bekannt Seitenverhältnisse (suchen Sie Sie auf wikipedia), so dass einige Fehler und nur dann verwenden, GCD, als fallback.
Vergessen Sie nicht über 32:10 😉
Die Sie finden müssen den GCD (http://en.wikipedia.org/wiki/Greatest_common_divisor -) und dann:
16:10
... 😉16:10
auch bekannt als8:5
🙂V4Vendetta
gesagt (:683:384