|
Auteur
|
Message
|
|
guitch guitch
|
Mardi 18 Juillet 2006 11:05:51 am
Redimensionner une image
Salut
comment fait on pour redimensionner une image avant de l'afficher de facon à ce qu'elle ait une largeur fixe (200 pixels dans notre cas) et une hauteur recalculée pour ne pas déformer l'image
Par ex, dans l'espace admin, on uploade une image de 600 de large sur 225 de haut
Mais à l'affichage dans le FRONT, la largeur sera de 200 pixels et dans ce cas la hauteur de 75 pixels
(Page full_article.tpl)
J'ai bien des scripts php à mettre pour recalculer la largeur, mais je ne sais pas où !?
guitch
|
|
Thomas DELFOSSE
|
Mardi 18 Juillet 2006 11:29:07 am
Re: Redimensionner une image
Bonjour,
Si vous avez ImageMagick sur votre serveur, vous pouvez utiliser les commandes de redimenssionement. Voir dans Administration / Configuration .ini / image.ini.
On peut réutiliser un script existant comme articlethumbnail ou en créér un nouveau en prenant exemple sur ceux par défaut.
Dans le template, on appelle l'image par :
{attribute_view_gui alignment=left image_class=articlethumbnail attribute=$node.data_map.image.content.data_map.image href=$node.object.data_map.image.content.main_node.url_alias|ezurl()}
Exemple de configuration de image.ini:
galeriemini :
Reference siteaccess ""
Filters siteaccess [0] geometry/scalewidthdownonly=112
siteaccess [1] geometry/gravity=center
siteaccess[2] geometry/crop=112; 63; 0; 0
siteaccess[3] border=50; 50
siteaccess[4] border/color=0; 0; 0
|
|
guitch guitch
|
Mercredi 19 Juillet 2006 10:22:54 am
Re: Redimensionner une image
Merci
Je n'ai pas imagemagic sur le serveur alors je regarde la 2eme solution
J'essaye surtout de comprendre comment ca marche (bon, pour le moment, ca ne marche pas encore !)
donc j'ai un répertoire :
fr : où se trouve le front office
fr_admin : où se trouve m'espace d'administration
Dans settings/siteaccess/fr_admin : il n'y a pas de fichier image.ini
Est-ce normal ?
Dans settings/siteaccess/fr : j'ai le fichier image.ini.append.php où il y a une
Vous dites : "On peut réutiliser un script existant comme articlethumbnail ou en créér un nouveau en prenant exemple sur ceux par défaut."
Dans ce fichier, j'ai
/////////////////////////////////
[articlethumbnail]
Reference=
Filters[]
Filters[]=geometry/scaledownonly=70;150
/////////////////////////////////
donc j'ai fait un
/////////////////////////////////
[galeriemini]
Reference=
Filters[]
Filters[]=geometry/scalewidthdownonly=200
/////////////////////////////////
A priori, je n'ai pas besoin de geometry/gravity ou geometry/crop ou border ou border/color ?!
Est-ce correct ?
Ensuite, je ne comprends pas comment appeler l'image
Dans mon script actuel (full_article.tpl), j'ai :
/////////////////
<img src={$node.data_map.image.content[original].full_path|ezroot('double')} border="0" align="right" style="padding-left:3px;padding-top:3px;">
////////////////
Déjà ce que je ne comprends pas, c'est que si je mets autre chose que "[original]" ca ne marche pas
alors que dans fr/image.ini.append.php il n'y a pas de [original] défini
Est-ce normal ?
Comment modifier cet appel d'image pour qu'il affiche l'image avec les dimensions données dans [galeriemini] ?
En fait, je n'ai pas compris l'exemple donné :
////////////////
{attribute_view_gui alignment=left image_class=articlethumbnail attribute=$node.data_map.image.content.data_map.image href=$node.object.data_map.image.content.main_node.url_alias|ezurl()}
////////////////
si je décompose :
attribute_view_gui alignment=left : alignement à gauche ?
image_class=articlethumbnail : classe spécifiée dans fr/image.ini.append.php ?
attribute=$node.data_map.image.content.data_map.image : ?????
href=$node.object.data_map.image.content.main_node.url_alias|ezurl() : url de l'image ?
Merci
guitch
|
|
Thomas DELFOSSE
|
Mercredi 19 Juillet 2006 10:42:02 am
Re: Redimensionner une image
Ma solution n'est valable que si imagemagick est installé sur le serveur puisque les "Filters" sont des paramètres de la commande "convert" de imagemagick.
Si vous n'avez pas imagemagick je ne sais pas trop comment vous pouvez faire. Je ne me suis pas posé la question. Peut-être avec l'extension PHP GD2 !
|
|
Thomas DELFOSSE
|
Mercredi 19 Juillet 2006 10:47:19 am
Re: Redimensionner une image
Pour votre question sur attribute_view_gui vous pouvez consulter la documentation : http://ez.no/doc/ez_publish/techn...tion/outputting_node_and_object_data
|
|
guitch guitch
|
Mercredi 19 Juillet 2006 10:49:45 am
Re: Redimensionner une image
ok, donc le fichier image.ini.append.php ne sert que si imagemagic est installé sur le serveur ?
sinon, y a t'il un fichier php qui appelle full_article.tpl ?
guitch
|
|
guitch guitch
|
Mercredi 19 Juillet 2006 5:46:43 pm
Re: Redimensionner une image
c'est ok, j'ai compris
dans le fichier "image.ini.append.php" du front office, on ajoute :
en haut :
AliasList[]=galeriemini
et plus bas
[galeriemini]
Reference=
Filters[]
Filters[]=geometry/scalewidthdownonly=200
et j'appelle mon image juste en changeant le format par galeriemini :
<img src={$node.data_map.image.content[galeriemini].full_path|ezroot('double')}
donc l'image 'toto_galeriemini.jpg" est créée sur le serveur lors de l'ouverture de la page dans le front office
et non pas comme j'avais cru à un moment, lors de l'upload de l'image dans le back office
Merci
guitch
|