|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||||
|
Membre expérimenté
![]() ![]() Inscription : mars 2005 Messages : 648 ![]() |
Bonjour à tous,
J'ai un petit puzzle de logique, qui pour une raison obscure me pose actuellement problème. J'ai un système de Crop et je veux définir la taille maximale possible de la sélection par défaut. Explication des données d'entrée Je défini un ratio qui peut être n'importe quoi, du moment que c'est une fraction réduite. Par exemple 4/3. Je passe une taille d'image, qui peut vraiment être n'importe quoi, et qui ne respecte aucun ratio précis. Par exemple 2000x62. J'ai donc 4 valeurs: Code :
En sortie, je désire obtenir 2 entiers non arrondi, qui respectent le ratio initial. Pour l'exemple que j'ai donné, les résultats seraient: Tentative actuelle Jusqu'ici, j'en suis venu à la fonction suivante (qui ne fonctionne pas). Sous toute réserve, les formules me semblent bonnes, cependant la condition ne semble pas arriver à bien aiguiller l'exécution vers les bonnes formules. Code :
Pour ceux que ca pourrait aider, j'ai rédigé quelques test unitaires: Code :
|
||||||
|
|
00
|
|
|
#2 | ||
|
Expert Confirmé
![]() Inscription : mars 2005 Messages : 2 823 ![]() |
Ceci répond à tes assertions (exceptée la 10e mais le résultat attendu me semble erroné) :
Code :
__________________
Un problème exposé clairement est déjà à moitié résolu Keep It Smart and Simple |
||
|
|
00
|
|
|
#3 | ||
|
Membre expérimenté
![]() ![]() Inscription : mars 2005 Messages : 648 ![]() |
Effectivement, le 10eme test était en erreur. J'ai édité.
Je vais essayé la logique que tu propose demain, soit: Code :
Je me demande cependant si le test simple des dimensions de l'image sera suffisant pour les cas ou le ratio ne serait pas 4:3... Enfin, l'écriture de quelques tests supplémentaires le dira assez rapidement ! Je met à jour dès que j'aurais testé demain |
||
|
|
00
|
|
|
#4 | ||||
|
Membre expérimenté
![]() ![]() Inscription : mars 2005 Messages : 648 ![]() |
Je confirme que la méthode proposée fonctionne. Merci !
Cependant, --double bonne nouvelle-- j'ai aussi réussit à débogger le mienne: Code :
Code :
|
||||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com