Agrandissement proportionnel : Là, je bloque...

porciner Messages postés 56 Date d'inscription mardi 22 juin 2004 Statut Membre Dernière intervention 18 avril 2008 - 6 oct. 2005 à 12:37
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 - 6 oct. 2005 à 12:52
Salut,


J'ai deux fonctions :


//+--------------------------------------------
// Renvoie la largeur
// en gradant les proportions
//+--------------------------------------------

function _proportionalWidth($sourceWidth, $sourceHeight, $maxWidth, $maxHeight, $ajust = 0)
{
if ($sourceHeight > $maxHeight && ($sourceWidth < $maxWidth || ($sourceWidth > $maxWidth && round($sourceHeight/$sourceWidth * $maxWidth) > $maxHeight)))
{
return round($sourceWidth/$sourceHeight * $maxHeight);
}
elseif ($sourceWidth > $maxWidth)
{
return $maxWidth;
}
else
{
return $sourceWidth;
}
}

//+--------------------------------------------
// Renvoie la hauteur
// en gradant les proportions
//+--------------------------------------------

function _proportionalHeight($sourceWidth, $sourceHeight, $maxWidth, $maxHeight, $ajust = 0)
{
if ($sourceWidth > $maxWidth && ($sourceHeight < $maxHeight || ($sourceHeight > $maxHeight && round($sourceWidth/$sourceHeight * $maxHeight) > $maxWidth)))
{
return round($sourceHeight/$sourceWidth * $maxWidth);
}
elseif ($sourceHeight > $maxHeight)
{
return $maxHeight;
}
else
{
return $sourceHeight;
}
}


Le problème, c'est lorsque l'image source a des dimensions inférieures aux les dimensions maxiamales de sortie. L'image n'est pas adaptée aux dimensions maximales (en gardant les proportions) mais elle garde ces petites dimensions.

Avez-vous une idée pour que :

Si l'image source a des dimensions inférieures à celles maximales de sorties, les nouvelles dimensions soit celles maximales en gardant les proportions, cela lorsque que $adjust est sur 1 ?

Merci

1 réponse

cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
6 oct. 2005 à 12:52
Salut,



il s'agit d'une erreur de taux surement. en fait, lorsque ton image a
des dimensions plus petites que les maximales, ton taux
d'agrandissement doit être supérieur à 1, dans le cas contraire il doit
être inférieur à 1 (pour réduire l'image). Après en fonction de
ce que tu veux faire (genre si t'as une seule dimension plus grande
ragrandir la dimension trop petite pour agrandir l'autre (problème de
proportions) ou si tu souhaites garder les proportions de ton image en
ayant une grandeur qui atteint la valeur maximale, et pas l'autre (sauf
si l'image a des dimensions proportionnelles aux dimensions que tu
souhaites).
<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li>
Rejoignez-nous