bubuze
Messages postés31Date d'inscriptionvendredi 18 février 2005StatutMembreDernière intervention25 avril 2006
-
5 avril 2006 à 09:33
trytobegood
Messages postés1Date d'inscriptionmardi 28 novembre 2006StatutMembreDernière intervention 9 janvier 2008
-
9 janv. 2008 à 17:41
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
Warning: imagecreatefrompng(./images/log.gif) [function.imagecreatefrompng]: failed to open stream: No such file or directory in /mnt/110/sdc/f/3/stan113/2/ch_3.test.php on line 56
Warning: imagesx(): supplied argument is not a valid Image resource in /mnt/110/sdc/f/3/stan113/2/ch_3.test.php on line 59
Warning: imagesy(): supplied argument is not a valid Image resource in /mnt/110/sdc/f/3/stan113/2/ch_3.test.php on line 60
Warning: imagecopymerge(): supplied argument is not a valid Image resource in /mnt/110/sdc/f/3/stan113/2/ch_3.test.php on line 69
Warning: imagegif() [function.imagegif]: Unable to open './fili-./images/logo.gif' for writing in /mnt/110/sdc/f/3/stan113/2/ch_3.test.php on line 74
Erreur de création
Et pourtant voici le code:
<?
//Cette fonction sert à filigraner les visuels
//Le paramètre img_src est l'image source ici le visuel
//Le second paramètre img_cop est le copyright à superposer
//Les parametres $taillelarg et $taillehaut sont respectivement la largueur et la hauteur d'affichage souhaitée
//c'est parti !!!
function filigrane($img_src,$img_cop,$taillelarg,$taillehaut)
{
//largueur de l'affichage
$taille_larg=$taillelarg;
//hauteur de l'affichage
$taille_haut=$taillehaut;
//récuperation de l'extension
$extension = strrchr($img_src,'.');
switch($extension){
case ".gif":
$image_s=imagecreatefromgif($img_src) or die("Erreur à l'ouverture");break;
case".png":
$image_s=imagecreatefrompng($img_src) or die("Erreur à l'ouverture");break;
case ".jpg"||".jpeg"||".jpe":
$image_s=imagecreatefromjpeg($img_src) or die("Erreur à l'ouverture");break;
}
//récuperation des dimensions de l'image principale
$width=imagesx($image_s);
$height=imagesy($image_s);
//création de l'image source redimentionnée
$thumb=imagecreatetruecolor($new_width,$new_height);
imagecopyresized($thumb,$image_s,0,0,0,0,$new_width,$new_height,$width,$height);
//dimensions de l'image principale redimentionnée
$width_thumb=imagesx($thumb);
$height_thumb=imagesy($thumb);
//création de l'image copyright
$image_c=imagecreatefrompng($img_cop);
//récuperation des dimensions de l'image du copyright
$larg_cop=imagesx($image_c);
$long_cop=imagesy($image_c);
//calcul la position du copyright sur l'axe des abscisses
$x=($width_thumb-$larg_cop)/2;
//calcul la position du copyright sur l'axe des ordonnées
$y=($height_thumb-$long_cop)/2;
//réalisation de la superposition
imagecopymerge($thumb,$image_c, $x, $y, 0, 0, $larg_cop, $long_cop, 60);
//sauvegarde de l'image
switch($extension){
case ".gif":
imagegif($thumb,"./"."fili-".$img_src) or die ("Erreur de création");
break;
case".png":
imagepng($thumb,"./"."fili-".$img_src) or die ("Erreur de création");
break;
case ".jpg"||".jpeg"||".jpe":
imagejpeg($thumb,"./"."fili-".$img_src) or die ("Erreur de création");
break;
}
//libération de la mémoire
imagedestroy($image_s);
}
//appel de la fonction
filigrane('F14.jpg','./ub/log.gif',800,600);
pajanac
Messages postés2Date d'inscriptionjeudi 12 février 2004StatutMembreDernière intervention 2 mars 2009 10 avril 2006 à 08:35
bonjour a tous
Ce script m'interesse beaucoup pour posé un copyricht sur des image d'un site de vente.Comment l'utilise t'on pour eviter le redimensionnement et que celà soit automatique au chargement de l'image ?
merci
cs_GRenard
Messages postés1662Date d'inscriptionlundi 16 septembre 2002StatutMembreDernière intervention30 juillet 20081 7 avril 2006 à 15:05
L'image copyright est absolument un png ? ah bon...
<?php au lieu de <?
Pourquoi "./"."fili-" et pourquoi pas "./fili-" ?
Ta fonction sert à filigraner... pourquoi avoir inclu un moyen de resize aussi ? il faudrait mettre une fonction différente pour chaque.
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 5 avril 2006 à 10:48
Hello,
la meilleure façon de détecter le type d'une image n'est pas de passer par un parsing de ton extension, mais par getimagesize (). De la même manière, tu récupèrerais aussi la taille de l'image de cette manière, d'un coup.
Il faut aussi que tu m'expliques à quoi servent ces 2 lignes :
//largueur de l'affichage
$taille_larg=$taillelarg;
//hauteur de l'affichage
$taille_haut=$taillehaut;
Tu nous fait aussi 2 switch sur l'extension, ce qui est dommage.
create_function () serait plus approprié.
bubuze
Messages postés31Date d'inscriptionvendredi 18 février 2005StatutMembreDernière intervention25 avril 2006 5 avril 2006 à 09:33
9 janv. 2008 à 17:41
J'ajouterai que l'image copyright peut être aussi un gif
il faut juste modifier comme ci-dessous.
si png comme dans l'exemple
//création de l'image copyright png
$image_c=imagecreatefrompng($img_cop);
si gif comme dans l'exemple
//création de l'image copyright gif
$image_c=imagecreatefromgif($img_cop);
11 juil. 2006 à 23:00
Logo: http://stan113.free.fr/2/images/logo.gif
Page: http://stan113.free.fr/2/ch_3.php3
Merci d'avance pour votre Aide
11 juil. 2006 à 22:58
qund je charge la page:
http://stan113.free.fr/2/ch_3.test.php
il apparait:
Warning: imagecreatefrompng(./images/log.gif) [function.imagecreatefrompng]: failed to open stream: No such file or directory in /mnt/110/sdc/f/3/stan113/2/ch_3.test.php on line 56
Warning: imagesx(): supplied argument is not a valid Image resource in /mnt/110/sdc/f/3/stan113/2/ch_3.test.php on line 59
Warning: imagesy(): supplied argument is not a valid Image resource in /mnt/110/sdc/f/3/stan113/2/ch_3.test.php on line 60
Warning: imagecopymerge(): supplied argument is not a valid Image resource in /mnt/110/sdc/f/3/stan113/2/ch_3.test.php on line 69
Warning: imagegif() [function.imagegif]: Unable to open './fili-./images/logo.gif' for writing in /mnt/110/sdc/f/3/stan113/2/ch_3.test.php on line 74
Erreur de création
Et pourtant voici le code:
<?
//Cette fonction sert à filigraner les visuels
//Le paramètre img_src est l'image source ici le visuel
//Le second paramètre img_cop est le copyright à superposer
//Les parametres $taillelarg et $taillehaut sont respectivement la largueur et la hauteur d'affichage souhaitée
//c'est parti !!!
function filigrane($img_src,$img_cop,$taillelarg,$taillehaut)
{
//largueur de l'affichage
$taille_larg=$taillelarg;
//hauteur de l'affichage
$taille_haut=$taillehaut;
//récuperation de l'extension
$extension = strrchr($img_src,'.');
switch($extension){
case ".gif":
$image_s=imagecreatefromgif($img_src) or die("Erreur à l'ouverture");break;
case".png":
$image_s=imagecreatefrompng($img_src) or die("Erreur à l'ouverture");break;
case ".jpg"||".jpeg"||".jpe":
$image_s=imagecreatefromjpeg($img_src) or die("Erreur à l'ouverture");break;
}
//récuperation des dimensions de l'image principale
$width=imagesx($image_s);
$height=imagesy($image_s);
//redimention de l'image source
if($width>=$height) //visuel horizontal
{
$ratio=max($width/$taille_larg, $height/$taille_haut);
$new_width=$taille_larg;
$new_height=$height/$ratio;
}
else //visuel vertical
{
$ratio=max($width/$taille_larg, $height/$taille_haut);
$new_width=$width/$ratio;
$new_height=$taille_haut;
}
//création de l'image source redimentionnée
$thumb=imagecreatetruecolor($new_width,$new_height);
imagecopyresized($thumb,$image_s,0,0,0,0,$new_width,$new_height,$width,$height);
//dimensions de l'image principale redimentionnée
$width_thumb=imagesx($thumb);
$height_thumb=imagesy($thumb);
//création de l'image copyright
$image_c=imagecreatefrompng($img_cop);
//récuperation des dimensions de l'image du copyright
$larg_cop=imagesx($image_c);
$long_cop=imagesy($image_c);
//calcul la position du copyright sur l'axe des abscisses
$x=($width_thumb-$larg_cop)/2;
//calcul la position du copyright sur l'axe des ordonnées
$y=($height_thumb-$long_cop)/2;
//réalisation de la superposition
imagecopymerge($thumb,$image_c, $x, $y, 0, 0, $larg_cop, $long_cop, 60);
//sauvegarde de l'image
switch($extension){
case ".gif":
imagegif($thumb,"./"."fili-".$img_src) or die ("Erreur de création");
break;
case".png":
imagepng($thumb,"./"."fili-".$img_src) or die ("Erreur de création");
break;
case ".jpg"||".jpeg"||".jpe":
imagejpeg($thumb,"./"."fili-".$img_src) or die ("Erreur de création");
break;
}
//libération de la mémoire
imagedestroy($image_s);
}
//appel de la fonction
filigrane('F14.jpg','./ub/log.gif',800,600);
?>
<meta name="generator" content="Namo WebEditor v5.0">
10 avril 2006 à 08:35
Ce script m'interesse beaucoup pour posé un copyricht sur des image d'un site de vente.Comment l'utilise t'on pour eviter le redimensionnement et que celà soit automatique au chargement de l'image ?
merci
7 avril 2006 à 15:05
<?php au lieu de <?
Pourquoi "./"."fili-" et pourquoi pas "./fili-" ?
Ta fonction sert à filigraner... pourquoi avoir inclu un moyen de resize aussi ? il faudrait mettre une fonction différente pour chaque.
5 avril 2006 à 10:48
la meilleure façon de détecter le type d'une image n'est pas de passer par un parsing de ton extension, mais par getimagesize (). De la même manière, tu récupèrerais aussi la taille de l'image de cette manière, d'un coup.
Il faut aussi que tu m'expliques à quoi servent ces 2 lignes :
//largueur de l'affichage
$taille_larg=$taillelarg;
//hauteur de l'affichage
$taille_haut=$taillehaut;
Tu nous fait aussi 2 switch sur l'extension, ce qui est dommage.
create_function () serait plus approprié.
5 avril 2006 à 09:33
code propre, commenté,
bravo !