La maquette d'un site sur lequel je travaille exige des logos d'une taille bien précise (929 x 277 pixels, donc assez grands).
J'aimerais afficher un message signalant cette exigence dans le formulaire d'ajout de logos et puis vérifier la taille des logos au moment de l'upload (et refuser ceux dont la taille n'est pas bonne), de façon à éviter de devoir en permanence gérer ça à la main.
Il y a le filtre : image_reduire qui fait ça très bien
et d'autres encore pour automatiser le traitement des images
voir :
A+
Alain
franz a écrit :
Bonjour,
La maquette d'un site sur lequel je travaille exige des logos d'une taille bien précise (929 x 277 pixels, donc assez grands).
J'aimerais afficher un message signalant cette exigence dans le formulaire d'ajout de logos et puis vérifier la taille des logos au moment de l'upload (et refuser ceux dont la taille n'est pas bonne), de façon à éviter de devoir en permanence gérer ça à la main.
Cependant, comme son nom l'indique, image_reduire permet de *réduire* la taille des images. Ici, le problème est que je ne souhaite pas que les utilisateurs uploadent des images trop petite par rapport à ce que demande la maquette.
Par ailleurs, se pose un problème de proportions et de cadrage qui fait que le traitement automatique des images a ses limites.
François
Le 07-mars-09 à 19:50, Alain HUSSON a écrit :
Il y a le filtre : image_reduire qui fait ça très bien
et d'autres encore pour automatiser le traitement des images
voir : Traitement automatisé des images - SPIP
A+
Alain
franz a écrit :
Bonjour,
La maquette d'un site sur lequel je travaille exige des logos d'une taille bien précise (929 x 277 pixels, donc assez grands).
J'aimerais afficher un message signalant cette exigence dans le formulaire d'ajout de logos et puis vérifier la taille des logos au moment de l'upload (et refuser ceux dont la taille n'est pas bonne), de façon à éviter de devoir en permanence gérer ça à la main.
Quelqu'un aurait-il un script pour faire ça ?
Merci
François
_______________________________________________
liste spip
spip@rezo.net - désabonnement : spip-off@rezo.net
Ici, le problème est que je ne souhaite pas que les utilisateurs uploadent des images trop petite par rapport à ce que demande la maquette.
allons-y pour le fork du siècle...
définir 2 constantes dans mes_options.php :
define('_WIDTH_LOGO', '929');
define('_HEIGHT_LOGO', '277');
créer un fichier de langue local_fr.php
(sur le modèle de ecrire/lang/ecrire_fr.php)
et n'y mettre que :
'info_telecharger_nouveau_logo' => 'Télécharger un
nouveau logo :<br><b>attention :</b><br>votre image doit
impérativement, sous peine d\'être rejetée,
mesurer ' . _WIDTH_LOGO . ' par ' . _HEIGHT_LOGO . ' pixels (largeur x
hauteur)',
modifier (forker et c'est *très* mal) le fichier
ecrire/inc/action/iconifier.php (ligne 71) :
else
// analyse le type de l'image (on ne fait pas confiance au nom de
// fichier envoye par le browser : pour les Macs c'est plus sur)
$inf = getimagesize($source['tmp_name']);
$larg = $inf[0];
$haut = $inf[1];
if ($larg != _WIDTH_LOGO || $haut != _HEIGHT_LOGO) {
spip_log("mauvaises dimensions de logo : $larg par $haut");
return false;
}
$source = deplacer_fichier_upload($source['tmp_name'], $f);
}
Ici, le problème est que je ne souhaite pas que les utilisateurs uploadent des images trop petite par rapport à ce que demande la maquette.
allons-y pour le fork du siècle...
Excellent, ça fonctionne très bien. Un grand merci (suis presque gêné qu'on me mâche le travail comme ça).
Soit dit en passant, est-ce que cette fonction ne pourrait pas avoir son utilité pour d'autres personnes ? (j'imagine que je ne dois pas être le seul à avoir une maquette assez exigeante concernant la taille des logos...)
Ne serait-il pas utile de proposer d'inclure ce patch dans la dist, en conditionnant le test à la présence des deux constantes idoines ?
++
François
définir 2 constantes dans mes_options.php :
define('_WIDTH_LOGO', '929');
define('_HEIGHT_LOGO', '277');
créer un fichier de langue local_fr.php
(sur le modèle de ecrire/lang/ecrire_fr.php)
et n'y mettre que :
'info_telecharger_nouveau_logo' => 'Télécharger un
nouveau logo :<br><b>attention :</b><br>votre image doit
impérativement, sous peine d\'être rejetée,
mesurer ' . _WIDTH_LOGO . ' par ' . _HEIGHT_LOGO . ' pixels (largeur x
hauteur)',
modifier (forker et c'est *très* mal) le fichier
ecrire/inc/action/iconifier.php (ligne 71) :
else
// analyse le type de l'image (on ne fait pas confiance au nom de
// fichier envoye par le browser : pour les Macs c'est plus sur)
$inf = getimagesize($source['tmp_name']);
$larg = $inf[0];
$haut = $inf[1];
if ($larg != _WIDTH_LOGO || $haut != _HEIGHT_LOGO) {
spip_log("mauvaises dimensions de logo : $larg par $haut");
return false;
}
$source = deplacer_fichier_upload($source['tmp_name'], $f);
}
_______________________________________________
liste spip
spip@rezo.net - désabonnement : spip-off@rezo.net