IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bibliothèques et frameworks PHP Discussion :

[ImageMagick] Changer la couleur de fond


Sujet :

Bibliothèques et frameworks PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé Avatar de Dsphinx
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2005
    Messages
    1 082
    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 082
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    $image = imagecreatetruecolor($vignette_largeur,$vignette_hauteur);

  2. #2
    Membre éprouvé Avatar de Dsphinx
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2005
    Messages
    1 082
    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 082
    Par défaut
    dois-je utiliser cette fonction ? :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $blanc = ImageColorAllocate ($image, 255, 255, 255);
    impossible de gérer les deux ensembles...

  3. #3
    Membre éprouvé Avatar de julien.63
    Profil pro
    balayeur
    Inscrit en
    Décembre 2005
    Messages
    1 348
    Détails du profil
    Informations personnelles :
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : balayeur

    Informations forums :
    Inscription : Décembre 2005
    Messages : 1 348
    Par défaut
    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

  4. #4
    Membre éprouvé Avatar de Dsphinx
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2005
    Messages
    1 082
    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 082
    Par défaut
    merci j'ai essayé ca marche... (la fonction pour la couleur)

    mais ensuite je dessine l'image avec

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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

  5. #5
    Membre éprouvé Avatar de Dsphinx
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2005
    Messages
    1 082
    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 082
    Par défaut
    Voila ce que ca me donne (je voudrais en enlever ce noir !) :



    Voici mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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);
    ?>

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [ImageMagick] Changer la couleur de fond
    Par Anduriel dans le forum Bibliothèques et frameworks
    Réponses: 4
    Dernier message: 24/02/2006, 18h36
  2. Réponses: 10
    Dernier message: 04/04/2005, 21h52
  3. Changer la couleur de fond d'un champ "text"
    Par nic211 dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 15/02/2005, 13h50
  4. [POO] Changer la couleur de fond d'un tableau
    Par Netoman dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 31/12/2004, 20h12
  5. Changer la couleur de fond de l'écran
    Par tnk dans le forum x86 16-bits
    Réponses: 5
    Dernier message: 19/01/2003, 01h37

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo