8791 sujets

Développement web côté serveur, CMS

bonjour a tous voila j'ai un soucis avec un script de creation de thumb
mon hebergeur ne prend pas le gd mais image magick ....
je du mal a trouver des sources sur son utilisation et je doit adapter le code si dessous dans cette librairie
function redimage($img_src,$img_dest,$dst_w,$dst_h) {
// Lit les dimensions de l'image
$size = GetImageSize($img_src); 
$src_w = $size[0]; $src_h = $size[1]; 
// Teste les dimensions tenant dans la zone

$test_w = round(($dst_h / $src_h) * $src_w);
// Si Height final non précisé (0)

// Sinon si Width final non précisé (0)
$dst_w = $test_w;



// La vignette existe ?
$test = (file_exists($img_dest));
// L'original a été modifié ?
if($test)
$test = (filemtime($img_dest)>filemtime($img_src));
// Les dimensions de la vignette sont correctes ?
if($test) {
$size2 = GetImageSize($img_dest);
$test = ($size2[0]==$dst_w);
$test = ($size2[1]==$dst_h);
}

// Créer la vignette ?
if(!$test) {
// Crée une image vierge aux bonnes dimensions
// $dst_im = ImageCreate($dst_w,$dst_h);
$dst_im = ImageCreateTrueColor($dst_w,$dst_h); 
// Copie dedans l'image initiale redimensionnée
$src_im = ImageCreateFromJpeg($img_src);
// ImageCopyResized($dst_im,$src_im,0,0,0,0,$dst_w,$dst_h,$src_w,$src_h);
ImageCopyResampled($dst_im,$src_im,0,0,0,0,$dst_w,$dst_h,$src_w,$src_h);
// Sauve la nouvelle image
ImageJpeg($dst_im,$img_dest);
// Détruis les tampons
ImageDestroy($dst_im); 
ImageDestroy($src_im);
}
}
function est_present($elem, $tab, $taille_tab){
for($i=0; $i<$taille_tab; $i++){
if($tab[$i]==$elem){
return true;
}
}
return false;
}

Merci d'avance pour votre aide !
a+
salut

a écrit :
t'aurais des exemples ou peu d'aide pour m'aider ?


à priori, oui, je veux bien t'aider.avant tout, as tu tester l'appel de la première fonction en lui passant tes paramètres? les fonctions, elles sont dans une classe?

la première méthode ou fonction s'appelle ainsi :


redimage('photos/guitares/fender/ash_tele.jpg', 'vignettes/ash_tele.jpg', 200, 78);


image dont on désire la vignette :

'photos/guitares/fender/ash_tele.jpg'

chemin vers le dossier vignette

'vignettes/ash_tele.jpg'

largeur de la vignette : 200

hauteur : 78

la vignette est créée sans soucis avec gd, image magick, j'ai pas, mais çà doit le faire parcequ'en fait, toutes les fonctions sont issues de gd ou de php...

quelques messages d'erreurs possibles, sur getimagesize, par exemple, serait utile.
pour read image j'ai essayer
j'ai fait
<?php
redimage('toto.jpg', 'toto-mini.jpg', 200, 78);
?>

vili la reponse
Fatal error: Call to undefined function: redimage() in /home/lebbbor/public_html/test/test-mini2.php on line 2

donc je pense que c'est une fonction gd ....
salut

oui, évidement çà ne fonctionnera pas sur ton serveur, ce code est pour gd 2.aussi, tu vas devoir oublier le code posté.de plus, je me suis renseigné sur image magick, pour php, c'est une extension qui se nomme imagick et la syntaxe n'à rien à voir avec gd et fonctionne soit en appellant convert.exe avec exec de php ou par appel des méthodes de la classe imagick.

exec, c'est pas la peine, aucun serveur mutualisé ne l'autorise.

l'appel des méthodes :


<?php
$image = new Imagick('images/defaut.jpg');

$image->resizeImage(350,240,Imagick::FILTER_LANCZOS,1);
$image->writeImage('../test.jpg');
$image->destroy();
?>


autres exemples içi

entre parenthéses, bonjour la doc!!! elles sont rares les pages utiles, même dans la doc php.mais c'est quand là que je t'ai trouver la bonne syntaxe Smiley cligne