Précédent   Forum des professionnels en informatique > PHP > Bibliothèques et frameworks > Images > Imagick
Imagick Forum d'entraide pour l'extension Imagick permettant de manipuler des images en PHP (port de l'API ImageMagick).
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 13/10/2005, 10h39   #1
Invité régulier
 
Inscription : novembre 2004
Messages : 158
Détails du profil
Informations forums :
Inscription : novembre 2004
Messages : 158
Points : 9
Points : 9
Par défaut [ImageMagick] Problème de qualité d'image

Bonjour à tous,

Actuellement je génére des images dynamiquement et j'ai un petit soucis sur la qualité d'imae de celle ci.

En effet la premiere est nikel, le texte bien net et la couleur passe bien alors que les deux suivante, le texte n'est pas bien net, un peu degueulasse, et la couleur est la meme que le premier texte alors que je donne des variable différentes :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
for ($a = 1; $a < 2; $a++)
	{
		$im = imagecreatefromgif("ban/".$ban.".gif");
		if ($ombre == 1) {
    	//Ombre du texte !
		$ombre1 = ImageColorAllocate($im, $rgb13, $rgb14, $rgb15); 
		imagettftext($im, $s, 0, $x+1, $y, $ombre1, $font1,$text);
		}		
		$color1 = ImageColorAllocate($im, $rgb1, $rgb2, $rgb3); 
		imagettftext($im, $s, 0, $x, $y-1, $color1, $font1,$text);
 
		$im2 = imagecreatefromgif("ban/".$ban.".gif");
		if ($ombre == 1) {
    	//Ombre du texte !
		$ombre2 = ImageColorAllocate($im, $rgb16, $rgb17, $rgb18); 
		imagettftext($im2, $s, 0, $x2+1, $y2, $ombre2, $font1,$text2);
		}	
		$color3 = ImageColorAllocate($im2, $rgb4, $rgb5, $rgb6); 
		imagettftext($im2, $s, 0, $x2, $y2-1, $color3, $font1,$text2); 
 
		$im3 = imagecreatefromgif("ban/".$ban.".gif");
		if ($ombre == 1) {
    	//Ombre du texte !
		$ombre3 = ImageColorAllocate($im, $rgb19, $rgb20, $rgb21); 
		imagettftext($im3, $s, 0, $x3+1, $y3, $ombre3, $font1,$text3);
		}
		$color5 = ImageColorAllocate($im3, $rgb7, $rgb8, $rgb9);
		imagettftext($im3, $s, 0, $x3, $y3-1, $color5, $font1,$text3); 
 
		$array_of_image[] = $im;
		$array_of_image[] = $im2;
		$array_of_image[] = $im3;
 
	}
Est ce que quelqu'un saurait d'ou vient ce probleme de qualité des deux autres images ?

Et encore une petite question, ai-je un moyen d'optimiser ce code ?

Merci pour votre aide...
rigolman est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/10/2005, 11h30   #2
Expert Confirmé Sénior
 
Homme Mathias Gaunard
Ingénieur développement logiciels
Inscription : décembre 2003
Messages : 3 543
Détails du profil
Informations personnelles :
Nom : Homme Mathias Gaunard
Localisation : France, Essonne (Île de France)

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : décembre 2003
Messages : 3 543
Points : 4 408
Points : 4 408
À quoi sert la boucle for ?
__________________
Boost ftw
loufoque est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/10/2005, 11h36   #3
Invité régulier
 
Inscription : novembre 2004
Messages : 158
Détails du profil
Informations forums :
Inscription : novembre 2004
Messages : 158
Points : 9
Points : 9
franchement je sais pas, mais sans ça, ça ne fonctionne pas...
rigolman est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/10/2005, 11h47   #4
Membre habitué
 
Avatar de cynferdd
 
Inscription : avril 2003
Messages : 144
Détails du profil
Informations personnelles :
Âge : 30

Informations forums :
Inscription : avril 2003
Messages : 144
Points : 144
Points : 144
c'est bizarre. Tout ce que ta boucle fait ici c'est répéter 3 fois le même code. Elle est donc inutile normalement. Quand tu dis que ça ne marche pas sans elle, quelle genre d'erreur se produit?
cynferdd est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/10/2005, 11h50   #5
Expert Confirmé Sénior
 
Avatar de Mr N.
 
Inscription : septembre 2004
Messages : 5 421
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 5 421
Points : 5 835
Points : 5 835
Code :
for ($a = 1; $a < 2; $a++)
Ca s'execute qu'une fois ou c'est mois qu'est bigleux ?
Mr N. est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/10/2005, 11h51   #6
Membre habitué
 
Avatar de cynferdd
 
Inscription : avril 2003
Messages : 144
Détails du profil
Informations personnelles :
Âge : 30

Informations forums :
Inscription : avril 2003
Messages : 144
Points : 144
Points : 144
mea culpa, il me semblait que $a était initialisé à 0. mais ça ne change rien au fait qu'elle ne semble servir à rien.
cynferdd est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/10/2005, 11h55   #7
Invité régulier
 
Inscription : novembre 2004
Messages : 158
Détails du profil
Informations forums :
Inscription : novembre 2004
Messages : 158
Points : 9
Points : 9
Chui tout à fait daccord, c pr ca que javai tenté de lenlever mais des lors ca buggouille...

Bref, c pa le plus grave, puisque ca a lair de fonctionner comme ca... le plus embettant c que la premiere image est bien créée correctement et proprement alors que les deux autres ont les textes qui sont degueu... et la je capte pas vraiment prkoi...
rigolman est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/10/2005, 12h06   #8
Expert Confirmé Sénior
 
Avatar de Mr N.
 
Inscription : septembre 2004
Messages : 5 421
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 5 421
Points : 5 835
Points : 5 835
Je pense que si au contraire c'est grave.
A partir du moment ou tu dois mettre un code qui sert à rien pour faire marcher le bazar, il y a anguille sous roche.
Mr N. est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/10/2005, 12h16   #9
Invité régulier
 
Inscription : novembre 2004
Messages : 158
Détails du profil
Informations forums :
Inscription : novembre 2004
Messages : 158
Points : 9
Points : 9
Si je me suis trompé jai bien enlevé le for et ca a lair de fonctionner qd mem...

c deja ca de resolu mais qu'en est il pr la qualité des textes inserer dynamiquement et des couleurs qui ne passe pas sur limage deu et limage trois ??
rigolman est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/10/2005, 12h22   #10
Membre habitué
 
Avatar de cynferdd
 
Inscription : avril 2003
Messages : 144
Détails du profil
Informations personnelles :
Âge : 30

Informations forums :
Inscription : avril 2003
Messages : 144
Points : 144
Points : 144
Code :
1
2
3
4
 
      $array_of_image[] = $im;
      $array_of_image[] = $im2;
      $array_of_image[] = $im3;
est-ce normal que tu remplace à chaque fois la valeur de $array_of_image[]?
tu ne voulais pas plutôt faire
Code :
1
2
3
4
 
      $array_of_image[0] = $im;
      $array_of_image[1] = $im2;
      $array_of_image[2] = $im3;
cynferdd est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/10/2005, 12h25   #11
Membre Expert
 
Homme
Inscription : janvier 2004
Messages : 1 238
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Secteur : Finance

Informations forums :
Inscription : janvier 2004
Messages : 1 238
Points : 1 421
Points : 1 421
Par défaut Re: Probleme de qualité d'image

Citation:
Envoyé par rigolman
Code :
1
2
3
4
5
6
7
8
9
10
11
 
...
$ombre1 = ImageColorAllocate($im, $rgb13, $rgb14, $rgb15); 
$color1 = ImageColorAllocate($im, $rgb1, $rgb2, $rgb3); 
...
$ombre2 = ImageColorAllocate($im, $rgb16, $rgb17, $rgb18); 
$color3 = ImageColorAllocate($im2, $rgb4, $rgb5, $rgb6); 
...
$ombre3 = ImageColorAllocate($im, $rgb19, $rgb20, $rgb21); 
$color5 = ImageColorAllocate($im3, $rgb7, $rgb8, $rgb9);
...
ca te parait logique les indices que tu utilise ? (je parle pas des $rgb, mais des $color et surtout des $im)
Fladnag est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/10/2005, 12h33   #12
Invité régulier
 
Inscription : novembre 2004
Messages : 158
Détails du profil
Informations forums :
Inscription : novembre 2004
Messages : 158
Points : 9
Points : 9
hummm effectivement... la jai lair bete... je vien de faire la modif en changeant les $im qui netai pa bon (im2 avec im2 etc...)

mais ca na qd meme as changé mon problem de couleur qui passe pas (en fait il prend la premiere couleur et la replique sur les deux autres textes de maniere plus degueulasse...)

cynferdd >> euh non je crois bien que c ca.. par acqui de conscience jai testé ton code mais ca ne fonctionne plus...
rigolman est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/10/2005, 12h37   #13
Membre habitué
 
Avatar de cynferdd
 
Inscription : avril 2003
Messages : 144
Détails du profil
Informations personnelles :
Âge : 30

Informations forums :
Inscription : avril 2003
Messages : 144
Points : 144
Points : 144
Citation:
Envoyé par rigolman
cynferdd >> euh non je crois bien que c ca.. par acqui de conscience jai testé ton code mais ca ne fonctionne plus...
dans ce cas, essaie en ne laissant que
Code :
$array_of_image[] = $im3;
à mon avis ça marche pareil...
cynferdd est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/10/2005, 12h43   #14
Invité régulier
 
Inscription : novembre 2004
Messages : 158
Détails du profil
Informations forums :
Inscription : novembre 2004
Messages : 158
Points : 9
Points : 9
Alors nan malheureusement dans ce cas, je n'ai que ma troisieme image... certe de qualité car le texte est net et la couleur passe nikel cette fois, mais c normal car il n'y a plus les autres images....

donc apparement le probleme vient du fait que les image suiavnt la premiere ne sont pas aussi bien traité...
rigolman est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/10/2005, 13h15   #15
Expert Confirmé Sénior
 
Avatar de Mr N.
 
Inscription : septembre 2004
Messages : 5 421
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 5 421
Points : 5 835
Points : 5 835
Citation:
Envoyé par cynferdd
Code :
1
2
3
4
 
      $array_of_image[] = $im;
      $array_of_image[] = $im2;
      $array_of_image[] = $im3;
est-ce normal que tu remplace à chaque fois la valeur de $array_of_image[]?
tu ne voulais pas plutôt faire
Code :
1
2
3
4
 
      $array_of_image[0] = $im;
      $array_of_image[1] = $im2;
      $array_of_image[2] = $im3;
Juste pour info :
Quand tu fais :
Code :
$array[] = $quelquechose;
tu insere à la fin du tableau $array la valeur $quelquechose.

Donc si le tableau est initialement vide, ca revient au meme de faire
Code :
1
2
3
4
 
      $array_of_image[] = $im;
      $array_of_image[] = $im2;
      $array_of_image[] = $im3;
ou
Code :
1
2
3
4
 
      $array_of_image[0] = $im;
      $array_of_image[1] = $im2;
      $array_of_image[2] = $im3;
Mr N. est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/10/2005, 14h15   #16
Invité régulier
 
Inscription : novembre 2004
Messages : 158
Détails du profil
Informations forums :
Inscription : novembre 2004
Messages : 158
Points : 9
Points : 9
merci pour linfo !

mais que faire pr les images qui suivent ? pkoi sont elles si degueulasse ?
rigolman est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/10/2005, 14h18   #17
Expert Confirmé Sénior
 
Avatar de Mr N.
 
Inscription : septembre 2004
Messages : 5 421
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 5 421
Points : 5 835
Points : 5 835
As tu essayer d'inverser l'ordre ?
d'afficher une par une ?
Mr N. est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/10/2005, 14h29   #18
Invité régulier
 
Inscription : novembre 2004
Messages : 158
Détails du profil
Informations forums :
Inscription : novembre 2004
Messages : 158
Points : 9
Points : 9
ben en fait si jinverse lordre et que je met :

Code :
1
2
3
$array_of_image[] = $im3; 
      $array_of_image[] = $im2; 
      $array_of_image[] = $im;
Le probleme est le meme : la premiere image, ici limage 3, est parfaitement bien affich avec la bonne couleur et de maniere net, alors que les deux autres chie !

Donc ca a avir avec l'insertion dan le tablo...
rigolman est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/10/2005, 14h33   #19
Expert Confirmé Sénior
 
Avatar de Mr N.
 
Inscription : septembre 2004
Messages : 5 421
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 5 421
Points : 5 835
Points : 5 835
Tu as un exemple en ligne ?
Mr N. est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/10/2005, 15h00   #20
Invité régulier
 
Inscription : novembre 2004
Messages : 158
Détails du profil
Informations forums :
Inscription : novembre 2004
Messages : 158
Points : 9
Points : 9
Oui tu peux regarder à cette adress :

http://www.noquarter-ledzep.com/alex/banniere-gif.php

tu ne peu pas changer la couleur. par defaut, jai mis bleu roug et vert pour quon puisse bien voir la dif si ca fonctionne...
rigolman est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 21h45.


 
 
 
 
Partenaires

Hébergement Web