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 28/04/2006, 23h24   #1
Membre à l'essai
 
Homme
Inscription : janvier 2006
Messages : 103
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 28

Informations professionnelles :
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : janvier 2006
Messages : 103
Points : 24
Points : 24
Par défaut Ajout et suppression d'image sur un PNG

Bonjour,

je me posai la question, si je rajoute une petite image sur une image png a des coordonnées precis.

Et il possible par la suite de retirer la petite image ?

merci
WeDgEMasTeR est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/04/2006, 23h46   #2
Rédacteur
 
Avatar de Swoög
 
Inscription : janvier 2003
Messages : 6 053
Détails du profil
Informations personnelles :
Âge : 24

Informations forums :
Inscription : janvier 2003
Messages : 6 053
Points : 7 144
Points : 7 144
Envoyer un message via MSN à Swoög Envoyer un message via Skype™ à Swoög
Salut !

Cela dépend de plusieurs choses :

1°) Je sais que le png gère les "Calques" donc si cette "petite image" constitue un calque a elle toute seule, il y aura certainement moyen de supprimer le calque uniquement.

2°) Malheureusement, GD (la librairie graphique la plus couramment utilisée avec PHP) ne semble pas gérer les calques pour les png ( http://fr.php.net/gd ) Donc il ne sera pas possible de supprimer l'image si elle a étée ajoutée via GD ou si l'image a ensuite été retraitée avec GD (je crois qu'une opération "d'aplanissement" est effectuée par GD)

Donc si tu trouves une librairie qui te permet d'utiliser les calques sur les png, oui cela sera possible...
__________________
Rédacteur "éclectique" (XML, IRC, Web...)
Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
pensez à la balise [code] (bouton #) et au tag (en bas)
Swoög est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/04/2006, 00h13   #3
Membre à l'essai
 
Homme
Inscription : janvier 2006
Messages : 103
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 28

Informations professionnelles :
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : janvier 2006
Messages : 103
Points : 24
Points : 24
ok,

bon là je me creuse un peu la tete, pour trouver un moyen subtile.
en fait je vais inserer plusieurs tites images sur un png, chacun en rentrant un par un et en enregistrant nom et coord dans une table prevu pour çà.

çà c'est ce que j'ai deja fait, j'ai le nom et les coordonnée de chaque images (la table contient biensur une clé primaire id).

maintenant pour inserer ce que je peux faire cest,
faire un select * de toutes les tites images et avec une boucle, j'insere les tite image.
une fois finis je renvois çà à la sortie standard avec imagepng().
La je verai mon image avec toutes les tites image si jme trompe pas.
et sans avoir modifier limage png ?

Après pour supprimer une tite image, peut etre qu'en cliquant dessus et en capturant les coordonnée, j'essai de faire une condition en comparant toute les tites images rentré dans la table avec les coordonnées du click ?

Là je fais mon raisonnement globale, est ce quelle est bonne ?
WeDgEMasTeR est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/04/2006, 00h18   #4
Rédacteur
 
Avatar de Swoög
 
Inscription : janvier 2003
Messages : 6 053
Détails du profil
Informations personnelles :
Âge : 24

Informations forums :
Inscription : janvier 2003
Messages : 6 053
Points : 7 144
Points : 7 144
Envoyer un message via MSN à Swoög Envoyer un message via Skype™ à Swoög
Effectivement, vu comme ça, étant donné que tu n'as pas modifié l'image, ton raisonnement est bon, puisque tu connais le point d'insertion et la taille de chaque image De plus, ça semble relativement facile à mettre en place (à vue de pif ^^) bon courage ^^
__________________
Rédacteur "éclectique" (XML, IRC, Web...)
Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
pensez à la balise [code] (bouton #) et au tag (en bas)
Swoög est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/04/2006, 01h00   #5
Membre à l'essai
 
Homme
Inscription : janvier 2006
Messages : 103
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 28

Informations professionnelles :
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : janvier 2006
Messages : 103
Points : 24
Points : 24
A vu de pif oui ! lol

surtout que la manipulation d'image suis vraiment novice.

d'ailleurs j'ai écris
Citation:
maintenant pour inserer ce que je peux faire cest,
faire un select * de toutes les tites images et avec une boucle, j'insere les tite image.
Mais comment j'insere ?
lol je sais meme pas inserer, et encore moins a des coordonnées precise...

si mes tites images sont tous des .gif, j'écris

Code :
1
2
3
4
5
$filename = imagecreatefromgif($data['adr_img'])
$filesize = getimagesize($filename);
$source = imagecreatefromgif($filename);
$destination = $path.$carte_id.".png";
imagecopy($destination, $source, $data['loc_x'], $data['loc_y'], 0, 0, $filesize[0], $filesize[1]);
c'est a peu près ca ?

Là ca les place sur mon png sans le modifier ?

et quand je met apres : imagepng($destination, '');
s'a l'affiche sur le navigateur ?
WeDgEMasTeR est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/04/2006, 01h42   #6
Membre à l'essai
 
Homme
Inscription : janvier 2006
Messages : 103
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 28

Informations professionnelles :
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : janvier 2006
Messages : 103
Points : 24
Points : 24
bon j'ai testé çà :
Code :
1
2
3
4
5
6
7
8
9
10
while ($data = dbarray($result)) {
			$filename = $data['adr_img'];
			$filesize = getimagesize($filename);
			$source = imagecreatefromgif($filename);
			$destination = $path.$carte_id.".png";
			$coords = explode(",",$data['coord']);
			//echo $coords[0].", ".$coords[1].$filesize[0];
			imagecopy($destination, $source, $coords[0], $coords[1], 0, 0, $filesize[0], $filesize[1]);
			imagepng($destination,'');
		}
et j'ai çà comme erreur:
Citation:
Warning: imagecopy(): supplied argument is not a valid Image resource
Warning: imagepng(): supplied argument is not a valid Image resource
j'ai vérifier tous les paramètres avec les echo,
pour $destination et $source j'ai bien images/x.png et images/xx.gif
et le reste sont les bons chiffres.

c'est quoi l'erreur ?
WeDgEMasTeR est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/04/2006, 10h11   #7
Rédacteur
 
Avatar de Swoög
 
Inscription : janvier 2003
Messages : 6 053
Détails du profil
Informations personnelles :
Âge : 24

Informations forums :
Inscription : janvier 2003
Messages : 6 053
Points : 7 144
Points : 7 144
Envoyer un message via MSN à Swoög Envoyer un message via Skype™ à Swoög
Salut !

tout comme tu crées une ressource images avec createimagefromgif pour $source, il te faut utiliser imagecreatefrompng pour créer une ressource image de ton png
__________________
Rédacteur "éclectique" (XML, IRC, Web...)
Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
pensez à la balise [code] (bouton #) et au tag (en bas)
Swoög est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/04/2006, 14h16   #8
Membre à l'essai
 
Homme
Inscription : janvier 2006
Messages : 103
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 28

Informations professionnelles :
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : janvier 2006
Messages : 103
Points : 24
Points : 24
d'accord !

Bon j'ai écris çà:*
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
		while ($data = dbarray($result)) {
			$filename = $data['adr_img'];
			$filesize = getimagesize($filename);
			$source = imagecreatefromgif($filename);
			$file2 = $path.$carte_id.".png";
			$destination = imagecreatefrompng($file2);
			$coords = explode(",",$data['coord']);
			//echo $coords[0].", ".$coords[1].$filesize[0];
			imagecopy($destination, $source, $coords[0], $coords[1], 0, 0, $filesize[0], $filesize[1]);
			header("Content-Type: image/png");
			imagepng($destination);
 
			//imagedestroy($destination);
		}
Mais l'image ne s'affiche pas, ya bien l'image qui doit apparaitre mais rien! comme ci l'adresse de l'image etait mauvaise, et qu'il y a une image erreur.
WeDgEMasTeR est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/04/2006, 14h17   #9
Rédacteur
 
Avatar de Swoög
 
Inscription : janvier 2003
Messages : 6 053
Détails du profil
Informations personnelles :
Âge : 24

Informations forums :
Inscription : janvier 2003
Messages : 6 053
Points : 7 144
Points : 7 144
Envoyer un message via MSN à Swoög Envoyer un message via Skype™ à Swoög
dans ce cas, il doit y avoir une erreur quelque part, essaie de charger directement l'image par son adresse dans le navigateur et enlève la ligne avec le header, tu verras apparaitre le message d'erreur
__________________
Rédacteur "éclectique" (XML, IRC, Web...)
Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
pensez à la balise [code] (bouton #) et au tag (en bas)
Swoög est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/04/2006, 14h31   #10
Membre à l'essai
 
Homme
Inscription : janvier 2006
Messages : 103
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 28

Informations professionnelles :
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : janvier 2006
Messages : 103
Points : 24
Points : 24
si j'enleve le header, je vois le code du png:
Code :
‰PNG   IHDRÈp#âÞûÖÌÊÊ®
avec une écriture bizar qui fait toute la page et pas de message d'erreur.

et si j'enleve le header et imagepng(), et que je mets:
Code :
echo "<img src='".$destination."'>";
et bien sa fait une image erreur, et aucune erreur php s'affiche.


* edit, par contre j'ai fais ouvrir l'image dans une nouvelle page et sa ouvre l'adresse de la racine du site avec à la fin : /Resource%20id
WeDgEMasTeR est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/04/2006, 14h38   #11
Rédacteur
 
Avatar de Swoög
 
Inscription : janvier 2003
Messages : 6 053
Détails du profil
Informations personnelles :
Âge : 24

Informations forums :
Inscription : janvier 2003
Messages : 6 053
Points : 7 144
Points : 7 144
Envoyer un message via MSN à Swoög Envoyer un message via Skype™ à Swoög
essaie de remettre le header et d'afficher l'image "en brute" sans effectuer de traitement dessus, exemple :
Code :
1
2
3
$img = imagecreatefrompng("mon.png");
header('Content-type: image/png');
imagepng($img);
__________________
Rédacteur "éclectique" (XML, IRC, Web...)
Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
pensez à la balise [code] (bouton #) et au tag (en bas)
Swoög est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/04/2006, 15h00   #12
Membre à l'essai
 
Homme
Inscription : janvier 2006
Messages : 103
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 28

Informations professionnelles :
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : janvier 2006
Messages : 103
Points : 24
Points : 24
et bien l'image ne s'affiche pas non plus!

comment ca se fait ?

quand je regarde les details de l'image:
Citation:
Dimensions 0 x 0 pixels
Deph 0 bits per pixel
Image type PNG
File size 116 KB (117*875 bytes)
Il est lourd pour une image qui fait 0 pixels

le probleme doit venir de ma page, d'autre code dedans doit faire interferance je sais pas

j'ai testé en mettant le code sur une page "vierge" test.php et il s'affiche.
mais en regardant ma page, je vois pas trop ce qui pourrait l'empecher de s'afficher...

Pour résoudre le problème je vais mettre le code dans une autre page.
voilà sa marche très bien pour l'ajout des tites images héhé !!!
WeDgEMasTeR 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 03h15.


 
 
 
 
Partenaires

Hébergement Web