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 30/11/2006, 14h10   #1
Modérateur
 
Avatar de Dsphinx
 
Homme
Développeur Web
Inscription : septembre 2005
Messages : 1 030
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Suisse

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : septembre 2005
Messages : 1 030
Points : 754
Points : 754
Par défaut [ImageMagick] Changer la couleur de fond

Bonjour, j'aimerais savoir comment affecter une couleur (autre que le noir d'origine) à une vignette que l'on créer avec la fonction

Code :
$image = imagecreatetruecolor($vignette_largeur,$vignette_hauteur);
Dsphinx est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/11/2006, 14h20   #2
Modérateur
 
Avatar de Dsphinx
 
Homme
Développeur Web
Inscription : septembre 2005
Messages : 1 030
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Suisse

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : septembre 2005
Messages : 1 030
Points : 754
Points : 754
dois-je utiliser cette fonction ? :

Code :
$blanc = ImageColorAllocate ($image, 255, 255, 255);
impossible de gérer les deux ensembles...
Dsphinx est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/11/2006, 14h24   #3
Membre émérite
 
Avatar de julien.63
 
Inscription : décembre 2005
Messages : 1 322
Détails du profil
Informations forums :
Inscription : décembre 2005
Messages : 1 322
Points : 981
Points : 981
Envoyer un message via MSN à julien.63
selon la manuel, c'est bien la fonction qu'il te faut.
y'a des exemples qui peuvent t'aider.
http://de3.php.net/manual/fr/functio...orallocate.php
julien.63 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/11/2006, 15h04   #4
Modérateur
 
Avatar de Dsphinx
 
Homme
Développeur Web
Inscription : septembre 2005
Messages : 1 030
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Suisse

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : septembre 2005
Messages : 1 030
Points : 754
Points : 754
merci j'ai essayé ca marche... (la fonction pour la couleur)

mais ensuite je dessine l'image avec

Code :
imagestring($image, 3, $write_w, $write_h, $string, $blanc); //on écrit la légende
mais la variable $blanc s'applique à mon texte dans mon image et non au fond (background) comme ajouter l'argument pour avoir un fond autre que noir ?

ici on peut voir l'exemple sur lequel je me suis basé ! C'est un membre du qui m'a passé le lien
Dsphinx est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/11/2006, 16h06   #5
Modérateur
 
Avatar de Dsphinx
 
Homme
Développeur Web
Inscription : septembre 2005
Messages : 1 030
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Suisse

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : septembre 2005
Messages : 1 030
Points : 754
Points : 754
Voila ce que ca me donne (je voudrais en enlever ce noir !) :



Voici mon code :

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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
<?
	//récupératin du poids de l'image
	$file_name = '105829.JPG';
 
	//récupération de la taille en octets
	$file_size = filesize($file_name);
 
	//conversion en ko
	$file_size = round($file_size/1024);
 
 
	//calcul des dimensions de la nouvelle image comprenant contour + légende 
	//dimensions de l'image originale
	list($largeur, $hauteur) = getimagesize($file_name); 
 
	list($width, $height, $type, $attr) = getimagesize("$file_name");
 
	// si on veut changer la taille on met 400 ou 500 à la place de $width
	//ratio pour réduire à une taille voulue
	$ratio = $width/ $largeur; 
 
	//on ajoute 0px à cause du contour
	$vignette_largeur = $largeur * $ratio + 0;  
 
	//ajout 3px à cause du contour+légende 
	//imagefontheight retourne la hauteur en pixels d'une police sélectionée : cela permet de calculer la hauteur de la légende
	$vignette_hauteur = $hauteur * $ratio + 3 + imagefontheight(3);
 
	//largeur de l'image réduite
	$n_image_largeur = $largeur * $ratio;
	//hauteur de l'image réduite
	$n_image_hauteur = $hauteur * $ratio;
 
 
	//$background_color = imagecolorallocate ($image, 255, 153, 0);
	$image = imagecreatetruecolor($vignette_largeur,$vignette_hauteur);
 
	// légende + texte en blanc
	//couleur orange
	$blanc = imagecolorallocate($image,255,153,0);
 
	//création du texte de légende
	$string = "Photo non contractuelle"; 
 
	//hauteur / détermine ou texte doit commencer à s'écrire.
	$write_h = $vignette_hauteur - imagefontheight(3) - 1; 
 
	//centrage -> on récupère $n_largeur la largeur de la vignette, on lui retire la largeur de la police multipliée par le nombre de caractères puis on divise le résultat par 2 pour centrer
	$write_w = ($vignette_largeur - strlen($string) * imagefontwidth(3))/2;
 
	//on écrit la légende
	imagestring($image, 3, $write_w, $write_h, $string, $blanc); 
 
	//ouverture fichier
	$source = imagecreatefromjpeg($file_name);
 
	//réduction, rééchantillonage et copie de l'image originale on recopie l'image à partir du point de coordonnées 1,1 pour laisser un cadre noir. 0, 0 pour enlever le cadre.
	@imagealphablending($image, false);
	@imagesavealpha($image, true);
 
	imagecopyresampled($image,$source, 0,0, 0,0, $n_image_largeur , $n_image_hauteur , $largeur, $hauteur);
 
	// envoie de l'image et destruction
	header('Content-type: image/png');
 
	imagepng($image);
	imagedestroy($image);
?>
Dsphinx est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/12/2006, 08h00   #6
Modérateur
 
Avatar de Dsphinx
 
Homme
Développeur Web
Inscription : septembre 2005
Messages : 1 030
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Suisse

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : septembre 2005
Messages : 1 030
Points : 754
Points : 754
Par défaut [syntaxe et GD]imagecreatetruecolor

Bonjour, je suis désepéré ! Comment fait-on pour retourner une ressource autre que la noire d'origine dans la fonction imagecreatetruecolor. voici ce que dis le manuel :

Citation:
imagecreatetruecolor -- Crée une nouvelle image en vraies couleurs
Description
resource imagecreatetruecolor ( int x_size, int y_size )

imagecreatetruecolor() retourne une ressource représentant une image noire de largeur x_size, et de hauteur y_size.
Dsphinx est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/12/2006, 09h11   #7
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
ou est le probleme ?

Code :
1
2
3
$img = imagecreatetruecolor($width, $height);
$white = imagecolorallocate($img, 255, 255, 255);
imagefill($img, 0,0, $white);
__________________
PHP :
Regle n°1 : mysql_query(...), mysql_connect(...) et mysq_select_db(...) doivent EN DEBUG etre suivies de or die(mysql_error()); (mais jamais en production)
Regle n°2 : Mieux encore : mysql_query($requete) or die("$requete<br/>".mysql_error());
Regle n°3 : echo '<pre>';var_dump($var);echo '</pre>'; affiche le contenu et le type d'une variable.
Publiez vos textes de fantasy et de science-fiction sur http://www.cercledefaeries.com/concours/
Fladnag est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/12/2006, 09h18   #8
Modérateur
 
Avatar de Dsphinx
 
Homme
Développeur Web
Inscription : septembre 2005
Messages : 1 030
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Suisse

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : septembre 2005
Messages : 1 030
Points : 754
Points : 754
Merci je vais voir comment intégrer cela !

Dsphinx 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 13h33.


 
 
 
 
Partenaires

Hébergement Web