Obtenez de l'aspect ratio de la largeur et de la hauteur de l'image (PHP ou JS)
Je ne peux pas croire que je ne peux pas trouver la formule pour cela. Je suis à l'aide d'un script PHP appelé SLIR de redimensionner les images. Le script vous demande de spécifier un rapport d'aspect de recadrage. Je voudrais obtenir le rapport d'aspect en fonction de la largeur et de la hauteur de l'image est spécifiée dans une forme que je suis de permettre aux utilisateurs d'entrer ces valeurs dans. Par exemple, si un utilisateur entre une résolution de 1024x768 image, je voudrais obtenir un rapport d'aspect de 4:3. Pour la vie de moi, je ne peux pas trouver un exemple de la formule en PHP ou Javascript que je peux utiliser pour obtenir le rapport d'aspect des valeurs basées sur la connaissance de l'w,h et branchez l'aspect de l'image dans une variable.
OriginalL'auteur David Paul Albert | 2011-11-07
Vous devez vous connecter pour publier un commentaire.
Il n'est pas nécessaire pour vous de faire toute sorte de calcul.
Juste parce qu'il dit proportions ne signifie pas qu'il doit être celui d'un ensemble limité de communément utilisé des ratios. Il peut être une paire de nombres séparés par une virgule.
Citant le SLIR guide d'utilisation:
Remarque qu'ils n'ont pas pris la peine de les réduire encore davantage pour
c3:2
.Donc, il suffit d'utiliser les valeurs entrées par l'utilisateur:
1024:768
.Si vous voulez être concis, de calculer la le plus grand commun diviseur de la largeur et de la hauteur et de diviser les deux d'entre eux. Ce qui permettrait de réduire votre
1024:768
vers le bas pour4:3
.OriginalL'auteur mercator
Si vous pouvez en obtenir un de: la hauteur, la largeur, alors vous pouvez calculer le manque largeur hauteur:
original largeur * hauteur /hauteur d'origine = new largeur;
hauteur d'origine * la nouvelle largeur /largeur d'origine = hauteur;
Ou si vous voulez juste un ratio:
original largeur /hauteur initiale = ratio
OriginalL'auteur David Nguyen
pour obtenir le ratio d'aspect seulement de simplifier la largeur et la hauteur comme une fraction, par exemple:
le code php:
OriginalL'auteur user962284
Voici une alternative bien plus simple, pour le plus grand commun diviseur entier ratios:
La demande
echo ratio(25,5);
retourne5:1
.Si votre serveur n'est pas compilé avec le GMP fonctions ...
OriginalL'auteur neokio