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

Langage PHP Discussion :

Petite question à propos de GD2 :)


Sujet :

Langage PHP

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2009
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 50
    Points : 34
    Points
    34
    Par défaut Petite question à propos de GD2 :)
    Bonjour,

    J'ai crée ma première superposition sous GD2 sans soucis, très simple d'utilisation mais j'ai une question de "transparence".

    Mon image principale est un "skin" sous forme de JPG, sans transparence.
    Je fais superposer une image (genre un chapeau), en forme PNG (qui contient de la transparence faite sous photoshop).

    Le problème, c'est que la superposition ne fais pas apparaître la transparence (donc le chapeau est entouré d'un caré blanc, comme si l'image était en jpg).


    Sur votre tutorial, vous parlez de la fonction imagecopymergegray, j'ai essayer de l'utiliser mais c'était sur des niveaux de "gris".

    Est il possible d'afficher cette transparence d'origine (j'ai essayé de mettre sur du html l'image sur un fond noir et la transparence existe réellement) ?


    Code utiliser :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    header("Content-type: image/png"); 
    $source = imagecreatefrompng("eyes.png"); 
    $destination = imagecreatefromjpeg("skin.jpg"); 
     
    $details_src = getimagesize("eyes.png");
     
    $y = "85";
    $x = "70";
    $imgcopy = imagecopymerge($destination,$source, $x, $y, 0, 0, $details_src[0],$details_src[1],100);
     
    imagepng($destination);
    imagedestroy($destination);
    imagedestroy($source);

    J'ai essayer d'utiliser le mergegray en modifiant la valeur de fin, mais vu que le fond n'est pas gris il n'en tien pas en compte.
    Quand on parle de "niveau de gris", quel est la valeur exacte de ce gris (en code couleur).



    J'ai également une 2eme petite question mais qui est hors sujet, lors de mon apprentissage de la POO, j'ai bloquer sur une question : comment déclaré une variable qui est en array (une variable qui est par exemple $produit[1], $produit[2] ...)
    J'ai essayé de faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    protected $produit; // tout simplement
    protected $produit[]; // de même sans succès
    protected $produit[1]; // meme chose ^^'

  2. #2
    FoxLeRenard
    Invité(e)
    Par défaut
    Citation Envoyé par Magnat Voir le message
    Bonjour,
    J'ai crée ma première superposition sous GD2 sans soucis, très simple d'utilisation mais j'ai une question de "transparence".
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    header("Content-type: image/png"); 
    $source = imagecreatefrompng("eyes.png"); 
    $destination = imagecreatefromjpeg("skin.jpg"); 
    $details_src = getimagesize("eyes.png");
    $y = "85";
    $x = "70";
    $imgcopy = imagecopymerge($destination,$source, $x, $y, 0, 0, $details_src[0],$details_src[1],100);
    imagepng($destination);
    imagedestroy($destination);
    imagedestroy($source);
    Bon je réponds a la premiére question,

    Voila l'exemple qui est sur ce lien et place le logo FOX sur mes images
    Résultat ici http://www.fox-infographie.com/forum...ox_jpg_png.php

    Le code est proche du tiens mais ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    <?php
    header ("Content-type: image/jpeg"); 
    $MonCopyRight = imagecreatefrompng("fox2.png"); 
    $nxCopyRight = imagesx($MonCopyRight);$nyCopyRight = imagesy($MonCopyRight);
    $Photo = imagecreatefromjpeg("foxmauritanie.jpg");
    $nxPhoto = imagesx($Photo);$nyPhoto = imagesy($Photo);
    $placeX = 0;$placeY =  $nyPhoto - $nyCopyRight;
    imagecopymerge($Photo, $MonCopyRight, $placeX, $placeY, 0, 0, $nxCopyRight, $nyCopyRight, 100);
    imagejpeg($Photo);
    ?>
    Alors toutes les différences OUI on utilise un PNG transparent mais la résultante est un jpeg !!
    donc Le Content-type: EST image/jpeg
    L'affichage ou creation sur le DD du serveur se fait par
    imagejpeg

    Enfin fais trés attention a l'outil qui te fais ton PNG

Discussions similaires

  1. Deux petites questions à propos de Merise
    Par abdelkaderg54 dans le forum Merise
    Réponses: 17
    Dernier message: 19/11/2009, 12h02
  2. 2 petites questions à propos de Visual C#
    Par As2piK dans le forum Visual Studio
    Réponses: 6
    Dernier message: 31/03/2007, 01h29
  3. un tout petite question à propos de LIST
    Par mehdi_swatch dans le forum Langage
    Réponses: 4
    Dernier message: 21/12/2006, 16h35
  4. Petite question à propos du redbook...
    Par Michaël dans le forum OpenGL
    Réponses: 3
    Dernier message: 04/11/2004, 12h54
  5. Petite question à propos d'une requete
    Par ViBy dans le forum Langage SQL
    Réponses: 4
    Dernier message: 15/09/2004, 12h21

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