Précédent   Forum des professionnels en informatique > PHP > Bibliothèques et frameworks > Images > GD
GD Forum d'entraide pour l'extension GD permettant de manipuler des images en PHP. Avant de poster -> tutoriels GD
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 01/10/2006, 17h31   #1
Membre habitué
 
Avatar de DrHelmut
 
Homme
Développeur Java/J2EE - Intégrateur Filenet - expert ecm/bpm
Inscription : octobre 2005
Messages : 88
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 31
Localisation : France

Informations professionnelles :
Activité : Développeur Java/J2EE - Intégrateur Filenet - expert ecm/bpm

Informations forums :
Inscription : octobre 2005
Messages : 88
Points : 126
Points : 126
Par défaut ajouter un texte sur une image uniquement à l'impression + signature numérique

Bonjour @ tous !

Pour la future gallerie d'un ami photographe professionnel, je recherche une solution permettant d'ajouter à ses photos un texte qui ne s'afficherait qu'à l'impression... voire d'y incruster une signature numérique en plus.

Pensez-vous qu'il a moyen de réaliser cela en php ? (bibliothèque gd2)

Au pire, connaissez-vous un autre moyen de réaliser cela ?

Merki d'avance
DrHelmut est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/10/2006, 17h43   #2
Expert Confirmé
 
Avatar de Sub0
 
Homme
Inscription : décembre 2002
Messages : 3 468
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 39

Informations forums :
Inscription : décembre 2002
Messages : 3 468
Points : 3 115
Points : 3 115
Envoyer un message via MSN à Sub0 Envoyer un message via Skype™ à Sub0
Gd2 te permettra de modifier l'image, mais la signature numérique se fait avant de télécharger la photo sur le serveur selon moi. Ce n'est pas le rôle de PHP d'ajouter la signature, à moins que tu souhaites qu'elle soit différente à chaque affichage de la photo...

Pour le texte sur l'image pour l'impression, je pense que tu devrais regarder du côté de CSS. Il est possible de spécifier à la page un style différent pour l'impression et pour la visite standard. De plus, CSS te permettra de faire apparaître un Div contenant ton texte (visibility). Ce conteneur sera positionné sur l'image (position) mais invisible, exemple :
Code :
<div id="txt" style="visibility:hidden">ton texte</div>
Et le style CSS d'impression s'occupera de le faire apparaître :
Code :
.txt { visibility:visible; }
N'oubli pas que tu disposes d'un forum CSS.

Maintenant, c'est vrai, Gd2 est aussi capable d'ajouter du texte sur une image. D'ailleurs, cela est conseillé si ce texte est une protection de l'image car avec CSS, l'utilisateur pourra toujours arriver à enlever le texte de l'image mais pas si cela a été fait avec Gd2.
à+
Sub0 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/10/2006, 15h59   #3
Membre habitué
 
Avatar de DrHelmut
 
Homme
Développeur Java/J2EE - Intégrateur Filenet - expert ecm/bpm
Inscription : octobre 2005
Messages : 88
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 31
Localisation : France

Informations professionnelles :
Activité : Développeur Java/J2EE - Intégrateur Filenet - expert ecm/bpm

Informations forums :
Inscription : octobre 2005
Messages : 88
Points : 126
Points : 126
Merci de ta réponse Sub-0 :

Je ne savais pas comment appliquer un style css uniquement pour l'impression et maintenant c'est chose faite !

Pour la signature numérique, je m'en doutais hélas vu que la doc de la librairie GD ne décrit rien de tel; au pire je crois que photoshop fait ce genre de trucs !

Et oui, je compte bien ajouter un copyright en dur sur les photos avec GD2

NB : je laisse ce sujet sans le tab résolu jusqu'à la fin de la semaine, dès fois que quelqu'un balance LE truc de fou...
DrHelmut est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/10/2006, 16h13   #4
Membre habitué
 
Avatar de DrHelmut
 
Homme
Développeur Java/J2EE - Intégrateur Filenet - expert ecm/bpm
Inscription : octobre 2005
Messages : 88
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 31
Localisation : France

Informations professionnelles :
Activité : Développeur Java/J2EE - Intégrateur Filenet - expert ecm/bpm

Informations forums :
Inscription : octobre 2005
Messages : 88
Points : 126
Points : 126
Finalement j'ai décidé d'aposer un petit copyright "en dur" sur les photos, et de ne pas passer par CSS.

Ainsi même si les utilisateurs enregistrent les images, il y aura une trace de leur auteur bien visible !

Pour info, l'affichage des images se fait dans une pop-up (générée par un javascript ) qui appelle le fichier php générateur d'image dans l'attribut "src" de l'image à afficher...

Citation:
<img src="displayImg.php?url=xxx&height=xxx&width=xxx">
Du coup, j'ai également rajouté un algorithme calculant les dimensions optimales de l'image lorsque celle-ci dépasse les bords de l'écran ^^

Voici l'extrait du code générant le texte,
$destination étant la référence vers l'image, $height sa hauteur

Citation:
//couleur du texte à ajouter
$textcolor = imagecolorallocate($destination, 000, 000, 000);
$font=3; //de 1 à 5
$texte=" copyright DrHelmut 2006 ";
$longueurTxt=strlen($texte)*imagefontwidth($font) ;
$hauteurTxt=imagefontheight($font);
//on crée un rectangle coloré autour de la signature (orangé)
$color=0xFF8800;
imagefilledrectangle($destination, 0, $height, $longueurTxt+2, $height-$hauteurTxt-2, $color);
//ajout de la signature, en bas à gauche
imagestring($destination, $font, 2, $height-$hauteurTxt-2, $texte, $textcolor);

// affichage de l'image ($imgType contient le type - jpg, gif ou png)
header("Content-type: image/".$imgType);
call_user_func('image'.$imgType, $destination);
J'ai un p'tit soucis dans le cas d'images GIF à traiter, pourtant la doc indique que la dernière version de GD marche nickel avec les formats GIF et PNG...

M'enfin c'est pas critique, au pire je zappe la signature si $imgType=="gif"
DrHelmut est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 12h46.


 
 
 
 
Partenaires

Hébergement Web