[PHP] Génération d'image : comment faire ?

Génération d'image : comment faire ? [PHP] - PHP - Programmation

Marsh Posté le 11-02-2003 à 17:31:30    

salut  
 
Je dois faire un systeme de generation d'image.  
Je vous explique le processus, qui n'est pas tres compliqué en soit mais je ne connais pas du tout le processus  
 
J'ai une image "1.jpg"  
Sur cette image je dois apposer un logo avec un bouton champ parcourir  
J'appuye sur entrer et de la doit ressortir l'image "1.jpg" avec mon logo apposé  
cette image doit se nommer "2.jpg" ou autre  
 
qqun pourrait m'expliquer ?  
 
merci !

Reply

Marsh Posté le 11-02-2003 à 17:31:30   

Reply

Marsh Posté le 11-02-2003 à 17:33:35    

Reply

Marsh Posté le 11-02-2003 à 17:46:46    

Pas tout compris le but du truc...
 
Tu veut juste incruster une petite image dans une grande, c'est ca ?
 
pour cela, tu fait:
 
* choper les dimention de l'image 1
* initialiser dans $im une image aux dimentions de l'im 1
* imagecreatefromSKIFO tes images 1 et 2
* tu lance l'incrustation (imagecopymerge) de la petite image dans la grosse, le tout dans $im
* imageSKIFO($im, truc.SKIFO);
 
Et tu balance truc.SKIFO qui est l'enrengistrement du produit final...
 
Attention si tu ne fait pas ca en local, tu peut avoir des couilles avec les chmods...
 
 
 
 
Bon, j'espere que j'ai ete plus clair que l'autre trolleur ? :o  

Reply

Marsh Posté le 11-02-2003 à 17:47:54    

cest exactement ca que je veux faire
incruster une petite image dans une grande image
 
tu pourrais me montrer le bout de code ?
 
merci en tout cas

Reply

Marsh Posté le 11-02-2003 à 17:48:40    

THEniluje a écrit :

Pas tout compris le but du truc...
 
Tu veut juste incruster une petite image dans une grande, c'est ca ?
 
pour cela, tu fait:
 
* choper les dimention de l'image 1
* initialiser dans $im une image aux dimentions de l'im 1
* imagecreatefromSKIFO tes images 1 et 2
* tu lance l'incrustation (imagecopymerge) de la petite image dans la grosse, le tout dans $im
* imageSKIFO($im, truc.SKIFO);
 
Et tu balance truc.SKIFO qui est l'enrengistrement du produit final...
 
Attention si tu ne fait pas ca en local, tu peut avoir des couilles avec les chmods...
 
 
 
 
Bon, j'espere que j'ai ete plus clair que l'autre trolleur ? :o  
 


 
Il existe un Topic similaire à celui là, la fonction recherche est là pour ça
 
JE ne suis pas agressif sur ce coup là

Reply

Marsh Posté le 11-02-2003 à 17:55:04    

nycius a écrit :

tu pourrais me montrer le bout de code ?

Arf j'rien ous la main, tu va choper un script bateau et tu l'adapte avec le truc que je t'ai donné, ca va te prendre 10 min grand maximum...
 
 
Samuelp>> a, peut etre, mais bon moi je fait que passé, je vois une vieille reponde a deux balle s'pas tres engageant :/
un lien voire une simple explication serait plus... percutante, non ?

Reply

Marsh Posté le 11-02-2003 à 18:05:56    

je cherche sur le net mais je vois pas de bout de code

Reply

Marsh Posté le 11-02-2003 à 18:10:50    

nycius a écrit :

je cherche sur le net mais je vois pas de bout de code


 
Le manuel de php est là pour cela...
 
http://www.php.net/manual/fr/ref.image.php
 
 
Tout est là.

Reply

Marsh Posté le 11-02-2003 à 18:13:08    

nexen.net tu cherche un script avec image ou meme imagecopymerge tu va tomber sur des scripts a la con, tu vire la moitier et tu adapdte :D
 
N'importe quel exemple fera l'affaire aussi...

Reply

Marsh Posté le 11-02-2003 à 18:20:41    

merci  :jap:

Reply

Marsh Posté le 11-02-2003 à 18:20:41   

Reply

Marsh Posté le 11-02-2003 à 18:43:28    

Code :
  1. <?php
  2. //$sourcefile = Filename of the picture into that $insertfile will be inserted.  
  3. //$insertfile = Filename of the picture that is to be inserted into $sourcefile.  
  4. //$targetfile = Filename of the modified picture.  
  5. //$transition = Intensity of the transition (in percent)  
  6. //$pos  = Position where $insertfile will be inserted in $sourcefile  
  7. // 0 = middle  
  8. // 1 = top left  
  9. // 2 = top right  
  10. // 3 = bottom right  
  11. // 4 = bottom left  
  12. // 5 = top middle  
  13. // 6 = middle right  
  14. // 7 = bottom middle  
  15. // 8 = middle left  
  16. //  
  17. //  
  18. function mergePix($sourcefile,$insertfile, $targetfile, $pos=0,$transition=50)
  19. {
  20. //Get the resource id´s of the pictures  
  21. $insertfile_id = imageCreateFromJPEG($insertfile);
  22. $sourcefile_id = imageCreateFromJPEG($sourcefile);
  23. //Get the sizes of both pix  
  24. $sourcefile_width=imageSX($sourcefile_id);
  25. $sourcefile_height=imageSY($sourcefile_id);
  26. $insertfile_width=imageSX($insertfile_id);
  27. $insertfile_height=imageSY($insertfile_id);
  28. //middle  
  29. if( $pos == 0 )
  30. {
  31. $dest_x = ( $sourcefile_width / 2 ) - ( $insertfile_width / 2 );
  32. $dest_y = ( $sourcefile_height / 2 ) - ( $insertfile_height / 2 );
  33. }
  34. //top left  
  35. if( $pos == 1 )
  36. {
  37. $dest_x = 0;
  38. $dest_y = 0;
  39. }
  40. //top right  
  41. if( $pos == 2 )
  42. {
  43. $dest_x = $sourcefile_width - $insertfile_width;
  44. $dest_y = 0;
  45. }
  46. //bottom right  
  47. if( $pos == 3 )
  48. {
  49. $dest_x = $sourcefile_width - $insertfile_width;
  50. $dest_y = $sourcefile_height - $insertfile_height;
  51. }
  52. //bottom left  
  53. if( $pos == 4 )
  54. {
  55. $dest_x = 0;
  56. $dest_y = $sourcefile_height - $insertfile_height;
  57. }
  58. //top middle  
  59. if( $pos == 5 )
  60. {
  61. $dest_x = ( ( $sourcefile_width - $insertfile_width ) / 2 );
  62. $dest_y = 0;
  63. }
  64. //middle right  
  65. if( $pos == 6 )
  66. {
  67. $dest_x = $sourcefile_width - $insertfile_width;
  68. $dest_y = ( $sourcefile_height / 2 ) - ( $insertfile_height / 2 );
  69. }
  70. //bottom middle  
  71. if( $pos == 7 )
  72. {
  73. $dest_x = ( ( $sourcefile_width - $insertfile_width ) / 2 );
  74. $dest_y = $sourcefile_height - $insertfile_height;
  75. }
  76. //middle left  
  77. if( $pos == 8 )
  78. {
  79. $dest_x = 0;
  80. $dest_y = ( $sourcefile_height / 2 ) - ( $insertfile_height / 2 );
  81. }
  82. //The main thing : merge the two pix  
  83. imageCopyMerge($sourcefile_id, $insertfile_id,$dest_x,$dest_y,0,0,$insertfile_width,$insertfile_height,$transition);
  84. //Create a jpeg out of the modified picture  
  85. imagejpeg ($sourcefile_id,"$targetfile" );
  86. }


 
jai trouvé ca sur phph.net
jai remplacé mes variables mais ca ne maffiche rien
jai rien qui ressort

Reply

Marsh Posté le 11-02-2003 à 20:36:35    

Ta fonction, tu l'appelles où ?  :ange:  
 
 [:totozzz]

Reply

Marsh Posté le 11-02-2003 à 22:02:51    

je vois pas justement comment l'appeler et donc generer limage
 
peux tu me dire comment faire ?

Reply

Marsh Posté le 11-02-2003 à 22:18:18    

nycius a écrit :

je vois pas justement comment l'appeler et donc generer limage
 
peux tu me dire comment faire ?


 
il faut appeler la fonction avec les arguments qui sont décrits dans le commentaire :heink:
Peux-être devrais tu apprendre à faire des choses plus simples dans un premier temps ;)


Message édité par dropsy le 11-02-2003 à 22:19:41
Reply

Marsh Posté le 11-02-2003 à 22:21:05    

desole mais je dois faire ce systeme et je ny connais rien en generation de fichier
 
la fonction est appelé je pense mais ca me sort pas limage
tu pourrais maider ?

Reply

Marsh Posté le 11-02-2003 à 22:24:50    

nycius a écrit :

desole mais je dois faire ce systeme et je ny connais rien en generation de fichier
 
la fonction est appelé je pense mais ca me sort pas limage
tu pourrais maider ?


 
//$targetfile = Filename of the modified picture.  
 
à priori ça doit être là... maintenant je ne peux pas te dire quelle valeur tu y as mis

Reply

Marsh Posté le 12-02-2003 à 00:26:33    

edit : jai corrigé des trucs
 

Code :
  1. <?
  2.   header("Content-type: image/jpeg" );
  3.   //Je déclare une page de type IMAGE JPG
  4.  
  5.   //je récupère les infos sur la jaquette
  6.   $size= GetImageSize("test_9.jpg" );
  7.   $width= $size[0];
  8.   $height= $size[1];
  9.  
  10.   //je récupère les infos sur les inserts
  11.   $sizecin= GetImageSize("hero_1.jpg" );
  12.   $widthcin= $sizecin[0];
  13.   $heightcin= $sizecin[1];
  14.  
  15.   //Je crée une image de travail
  16.   $temp = imagecreate($width+2, $height+2);
  17.   $red= imagecolorallocate($temp, 255, 0, 0);
  18.  
  19.   //J'ouvre la jaquette et les inserts
  20.   $im=imagecreatefromjpeg("test_9.jpg" );
  21.   $imcin= imagecreatefromjpeg("hero_1.jpg" );
  22.  
  23.  
  24.   //Je copie la jaquette dans mon image de travail
  25.   imagecopy($temp, $im, 1, 1, 0, 0, $width, $height);
  26.  
  27.   //Je copie les inserts dnas l'image de travail
  28.   imagecopy($temp, $imcin, 0, 0, 0, 0, $widthcin, $heightcin);
  29.  
  30.   //Je mets une petite bordure
  31.   imagerectangle($temp, 0, 0, ($width+1), ($height+1), $red);
  32.  
  33.   //Je récupère le code l'image en format JPG qualité 75
  34.   imagejpeg($temp);
  35.   ?>


Message édité par beleg le 12-02-2003 à 00:38:51
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed