Accueil > > > CRÉATION IMAGE GD2
CRÉATION IMAGE GD2
Information sur la source
Description
Bonjour, cette source n'est pas très utile mais je l'ai faite pour moi. Il se peut qu'il y est des ressemblance avec d'autres sources vue que c'est super simple à mettre en place... Maintenant, je le met là pour ceux ne connaissant pas beaucoup la création d'image php grâce à la librarie GD2. Si vous utiliser qu'une seul fois cette fonction par page, vous pouvez enlever la dernière variable :D Par PyroFrissons ou Mr Blagues --> Mes deux Pseudos
Source
- // Inclure la page qui a la fonction
- <?php include "function_image.php"; ?>
-
- // Code à insérer dans la page souhaité
- <?php affiche('mon_image','ext_image','ext_final',true,false,'gauche','haut',100,10,0,10,1); ?> // 1° image
- <?php affiche('mon_image','ext_image','ext_final',false,true,'centre','milieu',50,10,0,10,2); ?> // 2° image
- <?php affiche('mon_image','ext_image','ext_final',true,true,'droite','bas',0,10,0,10,3); ?> // 3° image et etc...
-
- // Page PHP contenant la fonction ::
-
- <?php
- function IsIE(){
- $navigator_user_agent = strtolower( $_SERVER['HTTP_USER_AGENT'] );
- if (stristr($navigator_user_agent, 'msie 4')||stristr($navigator_user_agent, 'msie 5')||stristr($navigator_user_agent, 'msie 6')){
- return 'msie';
- }else{ return 'pas-msie'; }
- }
- function affiche($fichier, $format, $format2, $couleur, $couleur2, $posx, $posy, $translucide, $un, $deux, $trois, $i){
- $taillexcopy = 50;
- $tailleycopy = 50;
- if($format == '' or $format2 == ''){ $prob = 1; }else{ $prob = 0; }
- if($prob == 1){
- echo '<img src="img_site/pb.png">';
- }else{
- if($format == 'jpeg' or $format == 'jpg'){
- $image = imagecreatefromjpeg($fichier.'.'.$format);
- }else if($format == 'gif'){
- $image = imagecreatefromgif($fichier.'.'.$format);
- }else if($format == 'png'){
- $image = imagecreatefrompng($fichier.'.'.$format);
- }
- $img_x = imagesx($image);
- $img_y = imagesy($image);
- $img_plus = 'image'.$i.'.'.$format2;
- if($couleur == true){
- $transparent = imagecolorallocate($image, $un, $deux, $trois);
- imagecolortransparent($image, $transparent);
- }
- $imgcopy = imagecreatefrompng('copyright.png'); // Image PNG
- //$imgcopy = imagecreatefromjpeg('copyright.jpg'); // Image JPG
- //$imgcopy = imagecreatefromgif('copyright.gif'); // Image GIF
- $imgcopy_x = imagesx($imgcopy);
- $imgcopy_y = imagesy($imgcopy);
- $image_plus = imagecreate($taillexcopy,$tailleycopy);
- if($posx == 'gauche'){ $xcopy = 0; }else if($posx == 'centre'){ $xcopy = ( $img_x - $taillexcopy ) / 2; }else if($posx == 'droite'){ $xcopy = $img_x - $taillexcopy; }
- if($posy == 'haut'){ $ycopy = 0; }else if($posy == 'milieu'){ $ycopy = ( $img_y - $tailleycopy ) / 2; }else if($posy == 'bas'){ $ycopy = $img_y - $tailleycopy; }
- ImageCopyResampled($image_plus, $imgcopy, 0, 0, 0, 0, $taillexcopy, $tailleycopy, $imgcopy_x, $imgcopy_y);
- if($couleur2 == true){
- $transparent = imagecolorallocate($image_plus, $un, $deux, $trois);
- imagecolortransparent($image_plus, $transparent);
- }
- imagecopymerge($image, $image_plus, $xcopy, $ycopy, 0, 0, $taillexcopy, $tailleycopy, $translucide);
- if (IsIE() == 'msie'){ imagetruecolortopalette($image, true, 16777216); }
- if($format2 == 'jpeg' or $format2 == 'jpg'){
- imagejpeg($image, $img_plus, 100);
- }else if($format2 == 'gif'){
- imagegif($image, $img_plus, 100);
- }else if($format2 == 'png'){
- imagepng($image, $img_plus, 100);
- }
- echo '<img src="'.$img_plus.'" width="'.$img_x.'" height="'.$img_y.'">';
- imagedestroy($image);
- }
- }
- ?>
// Inclure la page qui a la fonction
<?php include "function_image.php"; ?>
// Code à insérer dans la page souhaité
<?php affiche('mon_image','ext_image','ext_final',true,false,'gauche','haut',100,10,0,10,1); ?> // 1° image
<?php affiche('mon_image','ext_image','ext_final',false,true,'centre','milieu',50,10,0,10,2); ?> // 2° image
<?php affiche('mon_image','ext_image','ext_final',true,true,'droite','bas',0,10,0,10,3); ?> // 3° image et etc...
// Page PHP contenant la fonction ::
<?php
function IsIE(){
$navigator_user_agent = strtolower( $_SERVER['HTTP_USER_AGENT'] );
if (stristr($navigator_user_agent, 'msie 4')||stristr($navigator_user_agent, 'msie 5')||stristr($navigator_user_agent, 'msie 6')){
return 'msie';
}else{ return 'pas-msie'; }
}
function affiche($fichier, $format, $format2, $couleur, $couleur2, $posx, $posy, $translucide, $un, $deux, $trois, $i){
$taillexcopy = 50;
$tailleycopy = 50;
if($format == '' or $format2 == ''){ $prob = 1; }else{ $prob = 0; }
if($prob == 1){
echo '<img src="img_site/pb.png">';
}else{
if($format == 'jpeg' or $format == 'jpg'){
$image = imagecreatefromjpeg($fichier.'.'.$format);
}else if($format == 'gif'){
$image = imagecreatefromgif($fichier.'.'.$format);
}else if($format == 'png'){
$image = imagecreatefrompng($fichier.'.'.$format);
}
$img_x = imagesx($image);
$img_y = imagesy($image);
$img_plus = 'image'.$i.'.'.$format2;
if($couleur == true){
$transparent = imagecolorallocate($image, $un, $deux, $trois);
imagecolortransparent($image, $transparent);
}
$imgcopy = imagecreatefrompng('copyright.png'); // Image PNG
//$imgcopy = imagecreatefromjpeg('copyright.jpg'); // Image JPG
//$imgcopy = imagecreatefromgif('copyright.gif'); // Image GIF
$imgcopy_x = imagesx($imgcopy);
$imgcopy_y = imagesy($imgcopy);
$image_plus = imagecreate($taillexcopy,$tailleycopy);
if($posx == 'gauche'){ $xcopy = 0; }else if($posx == 'centre'){ $xcopy = ( $img_x - $taillexcopy ) / 2; }else if($posx == 'droite'){ $xcopy = $img_x - $taillexcopy; }
if($posy == 'haut'){ $ycopy = 0; }else if($posy == 'milieu'){ $ycopy = ( $img_y - $tailleycopy ) / 2; }else if($posy == 'bas'){ $ycopy = $img_y - $tailleycopy; }
ImageCopyResampled($image_plus, $imgcopy, 0, 0, 0, 0, $taillexcopy, $tailleycopy, $imgcopy_x, $imgcopy_y);
if($couleur2 == true){
$transparent = imagecolorallocate($image_plus, $un, $deux, $trois);
imagecolortransparent($image_plus, $transparent);
}
imagecopymerge($image, $image_plus, $xcopy, $ycopy, 0, 0, $taillexcopy, $tailleycopy, $translucide);
if (IsIE() == 'msie'){ imagetruecolortopalette($image, true, 16777216); }
if($format2 == 'jpeg' or $format2 == 'jpg'){
imagejpeg($image, $img_plus, 100);
}else if($format2 == 'gif'){
imagegif($image, $img_plus, 100);
}else if($format2 == 'png'){
imagepng($image, $img_plus, 100);
}
echo '<img src="'.$img_plus.'" width="'.$img_x.'" height="'.$img_y.'">';
imagedestroy($image);
}
}
?>
Conclusion
Explications ::
<?php affiche('mon_image','ext_image','ext_final',true,t rue,'droite','bas',60,10,0,10,2); ?> // 2° image
Mon_image :: Ce n'est que le nom du fichier sans son extension. Ext_image :: C'est l'extension de 'mon_image'. Ext_final :: C'est l'extension voulu pour l'image qui sera créée. droite et bas :: Position du logo CopyRight, (x :: gauche,centre,droite ; y :: haut,milieu,bas ;) True ou False :: Choisir si la transparence est activé ou pas (de 'mon_image'). True ou False :: Choisir si la transparence est activé ou pas (de 'copyright'). 10,0,10 :: Choix de la couleur à rendre transparente (mettre '0,0,0' et false pour aucune transparence). 1,2,3,... :: Ce sont les chiffres qui numérotent les images pour ne pas changer la même image.
Voilà, amusez-vous bien. (C'est fait en 30 min ;)
Historique
- 26 juillet 2006 08:57:46 :
- J'ai rajouté la transparence sur l'image copyright mais je n'ai pas l'impression que cela marche...
Et j'ai aussi rajouté un zip, après demande :D
Sources du même auteur
Sources de la même categorie
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
affichage d'une image en fonction du nom de la page [ par fstyle ]
Bonjour/soir !J'ai un petit soucis ... j'ai dû modifié un site en php ... et j'ai créer des modèles avec dreamweaver le soucis c'est que quand on est
Copyright image [ par kimengumi ]
BonjourJ'ai bien aimé le script de webdesignasp pour écrire un copyright sur les images.En fait, j'enregistre l'image telle quelle sur mon serveur et
un copyright dans une image [ par dubs07 ]
J?aurais voulu savoir comment insérer un copyright sur une image ?Merci d?avance.
Copyright sur les images [ par RockmanX ]
Une petite question très simple:j'ai une gallerie d'images et j'aimerais que sur chaque image il apparraisse un petit copyright en bas (mais sur l'ima
taille d'une image en fonction de la taille de la résolution de l'écran [ par vincentstryckmans ]
Bonjour, Avec la fonction imagepng($image,$filename), je génère une image dont je souhaite voir la taille s'adapter en fonction de la r
Redimensionner une image en fonction de sa taille [ par Dexterage ]
Bonjour, J'ai un petit probleme, d'ou ma venu ici :) Je crée une gallerie d'image en php, donc la taille des images sont fixes, et losque je le
fonction ftp_chdir [ par Batric ]
Bonjour à tous,Je commence à développer en php depuis quelques semaines et je bloque sur un problème depuis hier : j?ai développé une fonction d?uploa
Protection d' image original [ par overbrave ]
Salut Dieu du code,Je sais qu'il existe toute sorte de script ou fonction permettant de bloquer le clique droit, etc ...Ces fonction sont sencé n
sommaire bouton et image [ par cacoucatatonique ]
j'ai actuellement un sommaire avec des bouton de type "submit" qui me fait passer un parametre par post et hidden afin d'initialiser certaine fonction
fonction avec image [ par chris tuckers ]
Bonjour tout le monde et bonne année bonne santé !!!Ca faisait longtemps que je n'avais pas poster (et oui je m'améliore) mais la
|
Derniers Blogs
GESTION D'EXCEPTION AVEC LES TASKSGESTION D'EXCEPTION AVEC LES TASKS par richardc
Nous avons vu dans un précédent article comment utiliser Task pour effectuer des opérations dans un autre thread.
Malheureusement, comme tout le monde n'est pas parfait, il se peut que cette exécution se passe mal et qu'une exception se produise.
La...
Cliquez pour lire la suite de l'article par richardc DéMARRONS AVEC LES TASKSDéMARRONS AVEC LES TASKS par richardc
Que vous le vouliez ou non, le développement multi-tâche est maintenant une obligation pour toute nouvelle application. Il est donc vital d'en comprendre les mécanismes et de s'y mettre le plus tôt possible.
En attendant le .NET Framework 4.5 avec le...
Cliquez pour lire la suite de l'article par richardc SLIDE & DéMO TECHDAYS 2012 - FAST & FURIOUS XAML APPSSLIDE & DéMO TECHDAYS 2012 - FAST & FURIOUS XAML APPS par Vko
Retrouvez les slides et les démo de ma session Fast & Furious XAML Apps. A ceux qui se posent la question : "est-ce que le code de la DataGrid est disponible?", je vous répondrais "pas encore". Je vais mettre en place un projet codeplex pour part...
Cliquez pour lire la suite de l'article par Vko XNA IS DEAD!XNA IS DEAD! par richardc
Depuis la semaine dernière (et grâce aux TechDays 2012), je me penche activement sur la nouvelle version de Windows, aka Windows 8. Vous me direz, il était temps puisque la première preview date de Septembre dernier.
OK. Remarquez, on n'en est qu'aux...
Cliquez pour lire la suite de l'article par richardc TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 !TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 ! par ROMELARD Fabrice
Speakers: Fabrice Meillon et Stanislas Quastana Cette session est basée entièrement sur celle donnée lors de la BUILD cet hiver. Il n'y a pas d'ajout d'information en rapport avec cet évènement passé. Windows 8 Server sera intégralem...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Forum
CHAMPS TIMECHAMPS TIME par vargas
Cliquez pour lire la suite par vargas
Logiciels
DocTranslate (V3.1.0.0)DOCTRANSLATE (V3.1.0.0)DocTranslate est un traducteur de document Microsoft Word, PowerPoint et Excel. Il permet d'autom... Cliquez pour télécharger DocTranslate Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System
|