Redimensionnement d'images automatique

Image Liste des documentations utiles pour votre forum phpBB3.
Image Astuces et autres ressources

Répondre
     
Avatar du membre

Auteur du sujet
EnYgmA
Administrateur phpBB Assistance
Administrateur phpBB Assistance
Messages : 8631
Enregistré le : avril 2010
Hébergeur(s) : Monarobase
Localisation : Lyon
Contact :

Redimensionnement d'images automatique

Message par EnYgmA » ven. 26 avr. 2013 21:50

Bonjour à tous ,

étant donné que la question est posée assez régulièrement je diffuse une bonne fois la réponse afin que tout le monde en profite :^^:

Téléchargez l'archive suivante et placez le dossier highslide à la racine de votre FTP :clin:
highslide.rar
(269.06 Kio) Téléchargé 1125 fois
highslide.rar
(269.06 Kio) Téléchargé 1125 fois

Ouvrir : includes :arrow: bbcode.php

Cherchez :

Code : Tout sélectionner

'#\[img:$uid\](.*?)\[/img:$uid\]#s'        => $this->bbcode_tpl('img', $bbcode_id),
Remplacez par :

Code : Tout sélectionner

'#\[img:$uid\](.*?)\[/img:$uid\]#ise'      => "\$this->bbcode_second_pass_img('\$1')",
Cherchez :

Code : Tout sélectionner

}

?>
Ajoute avant :

Code : Tout sélectionner

//------------- START IMAGE RESIZE MOD ----------------
    /**
    * Second parse img tag
    */
    function bbcode_second_pass_img($url) {
   
		$Largeur_image = 600;
       
        global $user;
            $dimensions = @getimagesize($url);
            $resize = false;
            $return = "";

        // Resize testing
        if ($dimensions[0] > $Largeur_image) {
            $resize = true;
            $ratio = $Largeur_image/$dimensions[0];
            $imageHeight = round($dimensions[1]*$ratio);
            $imageWidth = round($dimensions[0]*$ratio);
			$imageWidth = $Largeur_image;
        } else {
            $imageWidth = $dimensions[0];
            $imageHeight = $dimensions[1];
        }
        // Construct the HTML, placing the JS link if the image has been resized
        if ($resize){ $return .= "<div style=\"font-size:7pt; text-align:center;\"><i>Clique sur l'image pour l'agrandir</i><br /><a href=\"$url\" class=\"highslide\" onclick=\"return hs.expand(this, { captionId: 'caption1' } )\">"; }     
        $return .= "<img src=\"$url\" alt=\"" . $user->lang['IMAGE'] . "\" title=\"Clique sur l'image pour l'agrandir\"";
        if ($resize){ $return .= " width=\"$imageWidth\" height=\"$imageHeight\""; }
        $return .= " />";
        if ($resize){ $return .= "</a></div>"; }

        return $return;
       
       }
//------------- END IMAGE RESIZE MOD ----------------
Vous pouvez personnaliser la valeur de $Largeur_image = 600; qui correspond à la largeur en pixel de l'image redimensionnée
Ouvrir : style :arrow: prosilver :arrow: template :arrow: overall_header.html

Cherchez :

Code : Tout sélectionner

</head>
Ajoutez avant :

Code : Tout sélectionner

<link rel="stylesheet" href="./highslide/highslide.css" type="text/css" />
<script type="text/javascript" src="./highslide/highslide-with-gallery.js"></script>

:!: Enregistrez vos fichiers au format UTF8 sans Bom et rafraîchissez le template :clin:


:!: Cette astuce n'est qu'un complément de ce mod :arrow: Auto Image Resize 0.0.3

@ ++ :^^:
Modifié en dernier par EnYgmA le ven. 26 avr. 2013 21:50, modifié 5 fois.
Raison : Correction + amélioration du code
Conditions générales de services - Conditions générales de support - C.G.U
Merci de mettre un titre de sujet explicite pour toutes vos demandes de support
Référencement gratuit - Forum informatique

Répondre

Retourner vers « Forum de documentation »