Accueil > > > FILIGRANE D'UNE IMAGE
FILIGRANE D'UNE IMAGE
Information sur la source
Description
Ce code utilise libGD pour appliquer un logo en filigrane sur une image de type GIF, PNG ou JPEG Tout est commenté dans le code, Tout est commenté dans le code, les dimensions en paramétres sont respectivement la largueur et la hauteur du cadre d'affichage pour calculer le ratio.
Source
- <?
-
- //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/logoub.png',800,600);
-
- ?>
<?
//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/logoub.png',800,600);
?>
Conclusion
Ce code est complétement libre modifiez-le comme bon vous semble.
Historique
- 04 avril 2006 23:42:00 :
- Précision sur les paramétres
Sources de la même categorie
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
aperçu avant impression, ajouter une image [ par cciiia ]
BONJOUR,Voilà mon souci j'aimerai ajouter le logo de mon entreprise juste à l'inpression.Car le logo n'est pas sur ma page php.Je pense qu'i
Chemin de l'image dans mysql [ par fabienfsf ]
Bonjour,Je voudrais faire en faite j'ai cunçu une petite radio ou on peu ecouter une radio que l'on veut sur le net alord pour sa j'ai fait uneta
affichage d'une image [ par refkaben ]
Bonjour,Je developpe un site ou les utilisateurs ont un formulaire, dans lequel il va donner le chemin d'une image, cette image sera upploadée, p
lier le formulaire upload avec un autre formulaire [ par maxwellcs ]
Bonsoir a tous!! Déja une petite question est-il possible de rassembler dans un meme formulaire , un upload et des donnees a saisir?? Si la r&
php->pdf->probleme image [ par younes371 ]
Bonjour, J'ai trouvé un code ds phpcs qui m a été très utile pour mon application,j'ai pu afficher les resultats de la requette dans le tableau(Numero
Filigrane [ par PaTaTe ]
Bonjour,J'aimerais appliquer un filigrane répété sur une image mais je n'y arrive pas. Pour être plus précis, voici un exemple : j'ai une image toto.j
protection données envoi mail [ par eva4 ]
hello vous tous. J'ai un petit problème. lors d'envoie de messages (avec photo dans le corp de texte) lorsqu'on fait un clic droit sur l'image, il ap
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
mon script crée mes fichiers dans un endroit inattendu [ par angelimad ]
bonjour tout le monde. mon problème c'est que j'ai un site php hébergé sur un serveur Linux. mon script upload le fichier via le formulaire du client
formulaire d'ajout d'image de l'éditeur visuel [ par jobhome ]
Bonjour, Le cherche un formulaire d'ajout d'image avec lequel on peut modifier l'image en ligne. Merci pour votre aide
|
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
|