Page 1 sur 1

Affichage image

Posté : 31 juil. 2009, 13:59
par consequences
bonjour,

En fait je souhaiterais afficher mes images de la base de données par une largeur maximum ou par une hauteur maximum .

Code : Tout sélectionner

$index.="\t\t\t\t\t<td align=\"center\" width=\"142px\"><img src=".$row['PhotoMembre']." width=\"130\" height=\"100\"/></td>\n";
La avec mon code en fait il étire l'image pour qu'elle prennent la largueur et la hauteur maximum.

si quelq'un pouvait m'aider ;)

Re: Affichage image

Posté : 31 juil. 2009, 14:05
par agité
bonjour,

En fait je souhaiterais afficher mes images de la base de données par une largeur maximum ou par une hauteur maximum .

Code : Tout sélectionner

$index.="\t\t\t\t\t<td align="center" width="142px"><img src=".$row['PhotoMembre']." width="130" height="100"/></td>\n";
La avec mon code en fait il étire l'image pour qu'elle prennent la largueur et la hauteur maximum.

si quelq'un pouvait m'aider ;)
Pour ça il va te falloir redimensionner l'image après l'upload pour les différentes tailles que tu veux lui donner. La par exemple tu vas faire largeur max : 142px et hauteur max: 100.

Un script du type :
function reduit_fichier($fichier_image,$scale,$max_v,$max_h,$source,$destination,$prefixe) 

{ 

    // MAX_V = HAUTEUR -- MAX_H = LARGEUR

    // le nom de l'image "scal e" commencera par ti_ et le nom du fichier original 

    $ti_fichier_image=$prefixe.$fichier_image; 

    global $nomfichier;



	//echo "$source"."$fichier_image";	

    $im=ImageCreateFromJPEG("$source"."$fichier_image"); 

    $v=ImageSY($im); // $v prend la hauteur

    $h=ImageSX($im); // $h prend la largeur

    //Floor Arrondi  l'entier inf rieur

    

    //ON GERE LA HAUTEUR

    if ($v > $max_v) // Si la hauteur Img, est plus grand que le max, on reduit

    {

        $taux_hauteur=$v/$max_v;    // On recupere le taux necessaire pour retrecir

        $ti_v=(int)floor($max_v); // ti_v = taille final de la hauteur

        $ti_h=(int)floor($h/$taux_hauteur); // ti_h = taille final de la largeur

    }

    else $ti_v=$v; // Sinon on fixe la hauteur



    // Si il n'a pas deja subbit une modification de la taille

    if ($ti_h!="") $h_comp = $ti_h; else $h_comp = $h;

    if ($ti_v!="") $v_comp = $ti_v; else $v_comp = $v;



    //ON GERE LA LARGEUR

    if ($h_comp > $max_h)

    {

        $taux_largeur=$h_comp/$max_h; 

        $ti_h=(int)floor($max_h);

        $ti_v=(int)floor($v_comp/$taux_largeur); 

    }

    else $ti_h=$h_comp;

    $ti_im = ImageCreateTrueColor($ti_h,$ti_v); 

    imagecopyresampled ($ti_im,$im,0,0,0,0,$ti_h,$ti_v,$h,$v); 

    imagejpeg($ti_im,"$destination"."$ti_fichier_image",$scale); 

    $nomfichier = $destination.$ti_fichier_image;

		

		return true;

}

Re: Affichage image

Posté : 31 juil. 2009, 14:08
par FuZZyLine
Salut,
bonjour,
En fait je souhaiterais afficher mes images de la base de données par une largeur maximum ou par une hauteur maximum .

Code : Tout sélectionner

$index.="\t\t\t\t\t<td align="center" width="142px"><img src=".$row['PhotoMembre']." width="130" height="100"/></td>\n";
La avec mon code en fait il étire l'image pour qu'elle prennent la largueur et la hauteur maximum.
si quelq'un pouvait m'aider ;)
T'es pas dans la bonne section mais... bon ;)

T'as oublié px sur les width et height de tes valeurs.
Et si tu veux bien m'y autoriser: Le css devrait être dans le header, voir carrément dans un
fichier séparé.
Collé dans les balises du body, c'est moins "zoli"... ;)

@+ bon css...

Posté : 31 juil. 2009, 14:27
par Stef
La solution la plus simple c'est avec css en effet!

Code : Tout sélectionner

max-height: XXpx; max-width: XXpx;
à placer où tu veux (interne ou externe)...

de la sorte ton image ne sera redimensionnée que si elle excède la largeur maximale ou minimale...

Posté : 31 juil. 2009, 14:37
par consequences
Okay merci pour tout j'ai pris de note tout ;)

Encore merci et désolé de mettre tromper de section

Grand merci pour l'aide a tous ;)

Posté : 31 juil. 2009, 14:41
par Stef
Yeehou =D> bieng!