News:

Want to get involved in developing SMF, then why not lend a hand on our github!

Main Menu

Reduction auto d'images

Started by CasTle, September 25, 2004, 01:56:04 PM

Previous topic - Next topic

CasTle

Bonjour tout le monde

Comme vous le savez notre site est en plein reskinnage, dont je m'occupe.

j'aurais voulus savoir comment faire en sorte que toute images mis sur le forums soit reduite automatiquement pour ne pas deformer l'apparence du forum, je ne parle pas des images en attachements ^^

Merci


@+++

Alexandre P.

Quoteje ne parle pas des images en attachements
De quelles images parles-tu alors ???
Aucun support par M.P., courriel ou messagerie instantanée / No support by P.M., email or I.M.

toan

des images que les membres posts via les bb code
toONE > toan
2sKd>http://2shocked.com

evolus

C'est un peu la même chose, je crois que j'ai vu l'autre jour une mod dans le forum spécial qui permettait cela

Faut farfouiller :)

Alexandre P.

Quote from: toan on September 25, 2004, 05:34:38 PM
des images que les membres posts via les bb code
ah, d'accord :)

Cette option ne correspondrait-elle pas à Largeur et Hauteur max. des images envoyées (0 = désactivé), modifiable dans Admin > Modifier les Caractéristiques et les Options ? ;)
Aucun support par M.P., courriel ou messagerie instantanée / No support by P.M., email or I.M.

Percherie

Visitez :
Le site site des chépers du web et ToutenKamion, le blog de voyage autour du monde en camion

toan

toONE > toan
2sKd>http://2shocked.com

CasTle

bah ca marche car ca n'augmente pas la largeur du forum, mais moi ce que je voudrais c'est qu'en faite une image de par exemple 1024*768 soit redimensionner en 400*200 par exemple, et que lorsqu'on clique dessus ca l'ouvre en popup, a la taille.

j'pense avoir trouvé une soluce, j'vous tien au courant si ca marche^^

voila @+++

CasTle

#8
voila, alors au cas ou ca interesse quelqu'un d'autre

Dans sources/subs.php

chercher la ligne
'~\[img(\s+width=([\d]+))?(\s+height=([\d]+))?\s*\](?:<br />)*(.+?)(?:<br />)*\[/img\]~ei' => '\'<img src="$5" alt=""\' . (\'$2\' != \'\' ? \' width="$2"\' : \'\') . (\'$4\' != \'\' ? \' height="$4"\' : \'\') . \' border="0" />\'',


et remplacé par
'~\[img(\s+width=([\d]+))?(\s+height=([\d]+))?\s*\](?:<br />)*(.+?)(?:<br />)*\[/img\]~ei' => '\'<a href="$5" alt="cliquer pour agrandir" target="_blank" /><img src="$5" alt="cliquer pour agrandir"\' . (\'400px\' != \'\' ? \' width="430"\' : \'\') . (\'200px\' != \'\' ? \' height="200"\' : \'\') . \' border="0" /></a>\'',

les valeur 400 et 200 peuvent etre remplacer par les votres

en faite ca va juste reduire la taille des images et lorsque que clique dessus hop en taille reelle dans une nouvelle fenetre


voila j'espere en avoir aider quelqu'uns ^^


@+++

Alexandre P.

Aucun support par M.P., courriel ou messagerie instantanée / No support by P.M., email or I.M.

Percherie

Quote from: CasTle on October 04, 2004, 06:13:50 PM
voila, alors au cas ou ca interesse quelqu'un d'autre

Dans sources/subs.php

chercher la ligne
'~\[img(\s+width=([\d]+))?(\s+height=([\d]+))?\s*\](?:<br />)*(.+?)(?:<br />)*\[/img\]~ei' => '\'<img src="$5" alt=""\' . (\'$2\' != \'\' ? \' width="$2"\' : \'\') . (\'$4\' != \'\' ? \' height="$4"\' : \'\') . \' border="0" />\'',


et remplacé par
'~\[img(\s+width=([\d]+))?(\s+height=([\d]+))?\s*\](?:<br />)*(.+?)(?:<br />)*\[/img\]~ei' => '\'<a href="$5" alt="cliquer pour agrandir" target="_blank" /><img src="$5" alt="cliquer pour agrandir"\' . (\'400px\' != \'\' ? \' width="430"\' : \'\') . (\'200px\' != \'\' ? \' height="200"\' : \'\') . \' border="0" /></a>\'',

les valeur 400 et 200 peuvent etre remplacer par les votres

en faite ca va juste reduire la taille des images et lorsque que clique dessus hop en taille reelle dans une nouvelle fenetre


voila j'espere en avoir aider quelqu'uns ^^


@+++

Tu est à deux doitg de la création d'un mod, il te manque plus qu'a l'integrer en tant qu'option dans le forum avec formulaire pour les valeur et enregistrer ça dans la base de donnée
Visitez :
Le site site des chépers du web et ToutenKamion, le blog de voyage autour du monde en camion

CasTle

ah yes percherie good idée, j'crois que je vais m'y mettre des que 2SKD seras finis
c'est vrai que ce serait sympas


@+++

Alexandre P.

Si j'avais des connaissances plus poussées en PHP, je suggérerais de créer une image réduite grâce à la librairie GD, puis que l'image s'affiche dans un popup en taille réelle, comme tu le proposes ;)  Mais ça manque à mes connaissances :(

En effet, ajouter une entrée dans le panneau Modifier les Caractéristiques et les Options pour spécifier la taille des images réduites seraient bienvenues :)  Ça éviterait de jouer directement dans le code...  Si tu veux, je peux regarder ça demain, si j'ai deux ou trois secondes de temps libres :)
Aucun support par M.P., courriel ou messagerie instantanée / No support by P.M., email or I.M.

Percherie

ça implique auss que tu peut sauvegarder tes image a traver le forum, c'est pas possible partout mais c'est la meilleur solution
Visitez :
Le site site des chépers du web et ToutenKamion, le blog de voyage autour du monde en camion

Meriadoc

si je comprends tous....
c'est possible à cherche le dimensions d'image

<?php
list($width$height$type$attr) = getimagesize("image_ici.jpg");
?>


$attr est 'width="XX" height="XX"' - alors, utilise comme ça:

<?php
echo "<img src=\"image_ici.jpg\" $attr alt=\"example\" />";
?>



voilà, utilise le $width et $height variables pour le faire l'image à 400px largeur

<?php
if($width => '400')
{
     
$division $width 400;
     
$width $width $division;
     
$height $height $division;

     
//peut-être le code pour le 'cliquer pour agrandir'?
     
$imgCode //qoui est en haut par CasTle
}
else
{
     
$imgCode //le code utilise en normalment
}
?>



tu pense que ça marche?

-Merry

je prie que ma français est comprendable ;)
If I know the way home and am walking along it drunkenly, is it any less the right way because I am staggering from side to side? : Leo Tolstoy
Everything I know I learned from Calvin and Hobbes.
And patience is about the most useful thing you could ever have.  That and backups. : [Unknown]
If I choose to send thee, Tuor son of Huor, then believe not that thy one sword is not worth the sending. : Ulmo, Lord of the Waters - Unfinished Tales, by J.R.R. Tolkien

CasTle

Quote from: Ap2 on October 05, 2004, 11:06:17 PM
je suggérerais de créer une image réduite grâce à la librairie GD

ouai mais le truc la c'est qu'il faudrait que la "vignette" de l'image soit enregistré sur le serveur, et si la personne est limité nivo espace ca va vite grimper.

c'est bien de ca que tu parle nan??

euh meriadoc, j'ai pas tout tout compris, mais comment veut tu recup la taille d'une image qui est sous la forme d'une url, sinon oui ca marcherais si l'image est up sur le serveur
puis la tu met  getimagesize("image_ici.jpg"); en precisant l'image a traiter pour le reste du code

j'pense que en remplacant images_ici.jpg par $5 ca pourrais fonctionner

enfin j'ai pas testé donc si ca ce trouve ca marche impec

Meriadoc

getimagesize() marche pour les URLs aussi:


<?php
$a 
getimagesize('http://www.thepalantir.com/merry/feathersmcgraw.jpg');
print_r($a);
?>


outputs:

Array ( [0] => 107 [1] => 167 [2] => 2 [3] => width="107" height="167" [bits] => 8 [channels] => 3 [mime] => image/jpeg )


voici un 'snippet' qui marche que je fait, éssaye si c'est quoi tu cherches :)

<?php
$img 
'http://wvs.topleftpixel.com/photos/paris_bw_street_eifel_bg.jpg';
list(
$width$height$type$attr) = getimagesize($img);

if(
$width >= '400')
{
     
$division $width 400;
     
$width $width $division;
     
$height $height $division;

echo "<a href='$img' target='_blank'><img src='$img' width='$width' height='$height' alt='cliquer pour agrandir' border='0' /></a>";
}
else
{
echo "<img src='$img' width='$width' height='$height' alt='' />";
}
?>


Et maintenant, juste change les 'echo' pour le code SMF...

??? Merry
If I know the way home and am walking along it drunkenly, is it any less the right way because I am staggering from side to side? : Leo Tolstoy
Everything I know I learned from Calvin and Hobbes.
And patience is about the most useful thing you could ever have.  That and backups. : [Unknown]
If I choose to send thee, Tuor son of Huor, then believe not that thy one sword is not worth the sending. : Ulmo, Lord of the Waters - Unfinished Tales, by J.R.R. Tolkien

Advertisement: