[PHP] Inserer une image dans une autre image

Inserer une image dans une autre image [PHP] - PHP - Programmation

Marsh Posté le 07-12-2002 à 14:54:03    

Bonjour,  
 
j'aimerais inserer une image dans une autre image plus grande. J'ai fait ça:
 

Code :
  1. $imageD="base.jpg";
  2. $imageP="petit.jpg";
  3. $base = imagecreatefromjpeg($imageD);
  4. $petit = imagecreatefromjpeg($imageP);
  5. imagecopy ($base,$petit,0,0,0,0,20,20 );


 
Mais ça ne fait rien  :??:  
 
Ais-je utilisé la bonne fonction (imagecopy)?
ça renvoie quoi imagecopy, car si j'affiche imagecopy, ben ça affiche 1.  :??:  
 
Quelqu'un peu m'aider?
 
Merci  :jap:  
 

Reply

Marsh Posté le 07-12-2002 à 14:54:03   

Reply

Marsh Posté le 07-12-2002 à 15:37:07    

edit le code na rien a voir, c juste pr te montrer comment utiliser limage créée.
 
// create the image  
$gif = ImageCreate(200,200);  
$bg = ImageColorAllocate($gif,0,0,0);  
$tx = ImageColorAllocate($gif,255,128,128);  
ImageFilledRectangle($gif,0,0,200,200,$bg);  
ImageString($gif,3,70,90,"it works !",$tx);  
 
// send the image  
header("content-type: image/jpeg" );  
ImageJpeg($gif);  
 
maintenant tu mets ds un fichier image.php
 
et tu fais un <img src="image.php"> ds un autre fichier.
jai plus mon fichier exemple ou je faisais des tests  :(


Message édité par beleg le 07-12-2002 à 15:38:39
Reply

Marsh Posté le 07-12-2002 à 15:46:12    

beleg a écrit :

edit le code na rien a voir, c juste pr te montrer comment utiliser limage créée.
 
// create the image  
$gif = ImageCreate(200,200);  
$bg = ImageColorAllocate($gif,0,0,0);  
$tx = ImageColorAllocate($gif,255,128,128);  
ImageFilledRectangle($gif,0,0,200,200,$bg);  
ImageString($gif,3,70,90,"it works !",$tx);  
 
// send the image  
header("content-type: image/jpeg" );  
ImageJpeg($gif);  
 
maintenant tu mets ds un fichier image.php
 
et tu fais un <img src="image.php"> ds un autre fichier.
jai plus mon fichier exemple ou je faisais des tests  :(


 
Les deux images que j'utilise existe déjà, je veux juste mettre une dans l'autre (un logo sur un photo)

Reply

Marsh Posté le 07-12-2002 à 15:51:15    

eh ben ton code est bon je pense ...
sauf que tu sais pas comment regarder le resultat
donc je te donne un exemple de code ...
faut quand meme pas que jecrive ton code a ta place  :??:

Reply

Marsh Posté le 07-12-2002 à 16:18:40    

imagecopy renvoie une valeur si ça a marché ou pas, donc renvoie pas imagecopy comme image final :pt1cable:
 
renvoie $base ;)


Message édité par Deadog le 07-12-2002 à 16:19:00
Reply

Marsh Posté le 07-12-2002 à 16:19:40    

beleg a écrit :

eh ben ton code est bon je pense ...
sauf que tu sais pas comment regarder le resultat
donc je te donne un exemple de code ...
faut quand meme pas que jecrive ton code a ta place  :??:  


 
Ben je vois pas en quoi ce que tu m'as donné peu m'aider à continuer mon script. Merci de m'aider  :jap: .
 
Je dois faire quoi après pour enregister l'ensemble des deux images (et la visionner)?
 
MErci

Reply

Marsh Posté le 07-12-2002 à 16:23:16    

Deadog a écrit :

imagecopy renvoie une valeur si ça a marché ou pas, donc renvoie pas imagecopy comme image final :pt1cable:
 
renvoie $base ;)


 
Merci de ton explication.
 
Je fais comment pour enregister la modification à base alors?

Reply

Marsh Posté le 07-12-2002 à 16:24:24    

bah base est modifié avec imagecopy ;)

Reply

Marsh Posté le 07-12-2002 à 16:29:52    

Deadog a écrit :

bah base est modifié avec imagecopy ;)


 
Donc j'ai rien besoin de faire, le fichier base doit être automatiquement modifié.
 
 
Mais ça ne modifie rien???  :??:

Reply

Marsh Posté le 07-12-2002 à 16:33:03    

fox25 a écrit :


 
Ben je vois pas en quoi ce que tu m'as donné peu m'aider à continuer mon script. Merci de m'aider  :jap: .
 
Je dois faire quoi après pour enregister l'ensemble des deux images (et la visionner)?
 
MErci


 
header("content-type: image/jpeg" );  
ImageJpeg($base);  
 
comme je lai deja dit ...
 
moi jai fait

Code :
  1. <?php
  2. // create the image  
  3.   $imageD="hero_1.jpg";
  4.   $imageP="hero_2.jpg";
  5.  
  6.   $base = imagecreatefromjpeg($imageD); 
  7.   $petit = imagecreatefromjpeg($imageP); 
  8.  
  9.   imagecopy ($base,$petit,150,250,0,0,100,100 );
  10. // send the image  
  11. header("content-type: image/jpeg" );
  12.     imagejpeg ($base);
  13. ?>


 
et je lappelle de cette facon la
http://nosgoth.dyndns.org/topliste/test/image.php
(jeteinds le PC a 16h40)
 

Reply

Marsh Posté le 07-12-2002 à 16:33:03   

Reply

Marsh Posté le 07-12-2002 à 16:35:12    

j'viens d'éssayer, chez moi ça marche
 
$logo=ImageCreateFromPNG("logo.png" );
$back=ImageCreateFromPNG("back.png" );
ImageCopy($back, $logo, 5, 5, 0, 0, 129, 117);
 
header("content-type: image/png" );  
ImagePNG($back);  
 
 
 :??:  
 
(c'est du png la, mais ça doit marcher avec le jpg ;))

Reply

Marsh Posté le 07-12-2002 à 16:37:04    

evidemment que ca marche, mais tant que certain ne font pas d'effort ... bah ca marche pas  :(

Reply

Marsh Posté le 07-12-2002 à 16:46:03    

Ben ça me sort ça
 
 
Warning: Cannot add header information - headers already sent by (output started at e:\logiciels\internet\easyphp\www\local ime\image.php:10) in e:\logiciels\internet\easyphp\www\local ime\image.php on line 19
ÿØÿàJFIFÿþ>CREATOR: gd-jpeg v1.0 (using IJG JPEG v62), default quality ÿÛC    $.' ",#(7),01444'9=82<.342ÿÛC  2!!22222222222222222222222222222222222222222222222222ÿÀPc"ÿÄ ÿĵ}!1AQa"q2??¡#B±ÁRÑð$3br? %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz?????????????????¢£¤¥¦§¨©ª²³´µ¶·¸¹ºÂÃÄÅÆÇÈÉÊÒÓÔÕÖ×ØÙÚáâãäåæçèéêñòóôõö÷øùúÿÄ ÿĵw!1AQaq"2?B?¡±Á #3RðbrÑ $4á%ñ&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz??????????????????¢£¤¥¦§¨©ª²³´µ¶·¸¹ºÂÃÄÅÆÇÈÉÊÒÓÔÕÖ×ØÙÚâãäåæçèéêòóôõö÷øùúÿÚ ?ñKKSwç³ÜG Cöic?ÿ=ØTßa?ÿÌJÛþù?ÿ?¤Ó¿ãÛQãìëÿ££¦!9àõ<?õªOìõÇü?­Oá/ÿKý?¿ô¶ÿ¾eÿâ(@ rxÇ\R?cßã?~??¸?f?é¨[¢ÉÿÄR?gÇÛí¿ï??ø?x?Ç=ð;ÿ?¾26ÿ/ò)?ã?ò?ôø0?Ù?ÿ?£û+'o¶üCÿ²T»HQ?ôâ?Ä?îÇLwÿ<Ð4Cý?Î>Ý?Ü??ür?û/?Ø?ï?qÿ T«´?søâ?°ç??!???BÿÇô9ÉãË?ùì¤þÊvéwÑMÿÄUÌ?q?Î?vÔÏqÉMUc?Ïì?÷êoþ"?¸qéÿ?E#?ÎkkmKÌ? @£qÏüõ??µL 0É9õ­y×ê,?(`R¬zó2ÈÏ^? Jª{sÀã$?Aþèlt8,ÓÅ^.µÑ¯î?H?kj÷-ö,ÊÃo9û¹â¹ÜÛÙx§GººÚ¶ð_[Ë+c "ȬÄþ×iñ?M¿·ø?uuq ?m|?I6?¬JR·ý {Ð$;Ãÿ Û_×uÍ,ëö±®?-ä0ÁçGp³!u`w®P~Iç×*ÛÀW§âJø6òäÛM$²m»0îW@?"ÈpÎà¸ÀnGlWKà :óIð?Ä»;ëi-®?H??)0wA;??Ç #88 ?ì|woãó¡k·,Äg?ñ?9¸?H?U¸õ'>ÄHæ?ÆpÞøC'??Yÿ?ìp?fj?iÿ5?o4Å·çÏ?6ç#?qêk¾¼ñ'?¯|5{v4Û»(¤?Vh|ï?]T®7/x ç®s]ÅÅÔö_ þ"][Ja¸?ů$rªÂæÜ?øWià?4ÿj¾;µ óØ>?¨À«?Þ???ü??U?Ó]?ó"2¼a??yëÏåZ??5ÝrÛM?Z,ÁÙ®®#?QFfí?)¤·ðöªÞ?_û Pa¹2'Ìù ´.íÇ?AØö©¤/s,PÃË,¬"DÞ]»(QÉ9ã?b¶§umðòÃ[¶½_ ø¾ÓYÔ,ÐÈÖfÉíÚEv1b? ??? ª>ð]?³àëïßø?i?W"Ùób×È?©ùXL?`Þæº?1-¾h7:?«4âíFÜÅkcæû%?÷Â>ðå?3Åi¦DÏ:Í?ÞÜ9$?2~Q¹?9ï< VF?©ßh????0·¼?>S?VÛ?*x`AÈb9H01?¯4òvÿ??Çþ§??Ïü$1ÇO²[ÿñ¿¥T²ø?âí9f?Ó\?5?i'd0Dãs±f#r2ÌN=+?\äàdú?JFS³±`x) ܹño?/.d¸?]ÔIX­ä??F ?(¬LùêÃÛ?(¥?ÿEÔ?ëÝ?ôluP>¿?Od?Ñuú÷_ýBNs?¹=h{?BXÏO?¢¤ ò?×?i?8ê¹ÏCÞ¤U8'OÒ©Ç÷Ôg4à2)£*2@Ï\g?½s@<÷ê{f??ÌQ??G\Ó³?(??s? ?2)Nïs?Z WÁq§ãpùx=È4?°?èFiØ*N8â??{ÝÛ?1Ó½`>¤?òh uã>ô§?9ädÒ(7Ãô¢??ì?Î?,+?íqö]Cþ¸/þ?? éV­3ö=Dc¸_ýV'?b?Ü?±*7îñéïRwÆzqº£?@;?ä~µ(/g?{i?Âddà¼z???Áè;HÁ;?÷©???Óéô ·Pq?­(Ë·û?AJ ?2HÀôëO?s!ÜI>?b?ì4t<?Û­.ܨp?xuç?»±íJ®1÷ öÍ ¹ÎpGN??zæ?>?ç9ǵ8Ê?Õ1?JV*ä'¯oÎ??|_ÝÇãE.T+³ÿÙ

Reply

Marsh Posté le 07-12-2002 à 16:46:23    

fox25 a écrit :


 
Donc j'ai rien besoin de faire, le fichier base doit être automatiquement modifié.
Mais ça ne modifie rien???  :??:  


 
base est une image temporaire crée a partir du jpg en parametre,
il est donc modifié mais ton fichier originel reste intact evidemment ...  :heink:

Reply

Marsh Posté le 07-12-2002 à 16:46:54    

faut pas avoir le moindre espace code html avant la balise <?php

Reply

Marsh Posté le 07-12-2002 à 16:52:07    

Ben maintenant la page charge indéfiniment, ça fait plusieurs minutes qu'elle travaille.  :sleep:  C'est un peu long non?  :ouch:  :sweat:  
 
Pourquoi???  :??:  
 
Merci quand même pour votre aide  :jap:


Message édité par fox25 le 07-12-2002 à 16:56:38
Reply

Marsh Posté le 07-12-2002 à 16:53:10    

beleg a écrit :


 
base est une image temporaire crée a partir du jpg en parametre,
il est donc modifié mais ton fichier originel reste intact evidemment ...  :heink:  


 
Alors, comment enregister le fichier créé. Merci  :jap:

Reply

Marsh Posté le 07-12-2002 à 20:17:49    

ça marche toujours pas  :pt1cable:

Reply

Marsh Posté le 07-12-2002 à 21:48:30    

dit voir, tu as regarder la doc par hasard ?

Reply

Marsh Posté le 07-12-2002 à 22:13:14    

Deadog a écrit :

dit voir, tu as regarder la doc par hasard ?


 
Ouais, c'est la première chose que j'ai fait  :jap: , mais ça ne m'a pas beaucoup aidé à faire fonctionner le script.

Reply

Marsh Posté le 07-12-2002 à 22:14:40    

Revoici tout le code
 

Code :
  1. <?
  2. $logo=ImageCreateFromJPEG("petit.jpg" );
  3. $back=ImageCreateFromJPEG("base.jpg" );
  4. ImageCopy($back, $logo, 5, 5, 0, 0, 20, 20);
  5. header("content-type: image/jpg" ); 
  6. ImageJPEG($back); 
  7. ?>


 
Pourquoi c'est lent et ça ne finit jamais de travailler ??  :??:


Message édité par fox25 le 07-12-2002 à 22:15:16
Reply

Marsh Posté le 08-12-2002 à 01:25:16    

http://www.php.net/manual/en/function.imagejpeg.php !
 
Tu vas pas faire çà pour chaque visiteur quand même !
 
<?  
$logo=ImageCreateFromJPEG("petit.jpg" );  
$back=ImageCreateFromJPEG("base.jpg" );  
ImageCopy($back, $logo, 5, 5, 0, 0, 20, 20);  
ImageJPEG($back,"new.jpg");    
?>  
 
Tu le fait une fois, et ta nouvelle images est dans new.jpg !
Incoyable non ?


Message édité par Mara's dad le 08-12-2002 à 01:25:36

---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

Marsh Posté le 08-12-2002 à 10:34:23    

Mara's dad a écrit :


 
Tu vas pas faire çà pour chaque visiteur quand même !
 


 
Tu parles à qui  :??: , et faire quoi  :??: .
 
 
Sinon,  :jap:  :jap: Merci  :jap:  :jap:  ça marche enfin.
 
 :hello:

Reply

Marsh Posté le 16-11-2017 à 10:34:42    

Merci à vous, j'ai pu créer un petit "template d'image" avec ça :)

Reply

Marsh Posté le 13-01-2018 à 20:38:20    

Vous voulez mixer les codes des deux images ou superposer deux images


---------------
Comment regarder la TV sans le câble ?  https://how-to.watch/fr/tv-sans-cable/
Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

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