Affichage image

Eléphant du PHP | 63 Messages

31 juil. 2009, 13:59

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 ;)
Avec le temps qui s'écoule je trouve que je m'en sort de mieux en mieux :)

Mammouth du PHP | 965 Messages

31 juil. 2009, 14:05

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;

}

Eléphant du PHP | 369 Messages

31 juil. 2009, 14:08

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...

Eléphant du PHP | 447 Messages

31 juil. 2009, 14:27

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...
Probably (only a) Human Problem?

Eléphant du PHP | 63 Messages

31 juil. 2009, 14:37

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 ;)
Avec le temps qui s'écoule je trouve que je m'en sort de mieux en mieux :)

Eléphant du PHP | 447 Messages

31 juil. 2009, 14:41

Yeehou =D> bieng!
Probably (only a) Human Problem?