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] Transparence alpha image png


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    32
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 32
    Points : 28
    Points
    28
    Par défaut [ImageMagick] Transparence alpha image png
    Bonjour

    J'essai de faire une fonction qui redimensionne une image de taille W * H vers une image plus petite.

    puis une fois redimmensionné je la copie dans une image carrée en rajoutant des bandes à droite et gauche si mon image et plus haute que large ou inversement :

    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
    $image_p = imagecreatetruecolor($width, $height); 						
    imagealphablending( $image_p, false );
    imagesavealpha($image_p,true);
    imagecopyresampled($image_p, $im, 0, 0, 0, 0, $width, $height, $aImg[0], $aImg[1]);//$im image originale, aImg[0] largeur de $im, $aImg[1] hauteur de $im
    $saveImg = create_function ('$img, $fileNa', 'return @imagepng($img, "../test/$fileNa");');				
    $saveImg ($image_p, "tux2re.png");				
     
    $image_p2 = imagecreatetruecolor(max($width,$height), max($width,$height)); // image carré				
    if($width>$height){
    	$destx=0;
    	$desty=($width-$height)/2;
    }else{
    	$destx= ( $height-$width)/2;
    	$desty=0;
    }				
    imagealphablending( $image_p2, false );
    imagesavealpha($image_p2,true);				
    imagecopy($image_p2,$image_p,$destx,$desty,0,0,max($width,$height),max($width,$height));
     
    $saveImg ($image_p2, "tux2sq.png");
    et cela donne ceci :
    http://jpprade.club.fr/test/testtux.html

    la premiere image redimensionnée a bien le fond transparent
    mais l'image carré a la bande gauche transparente et le droite noire ce que je ne comprend pas trop

    Si vous voyez l'erreur ou que vous connaissez un tuto qui explique la transparence je suis preneur merci !

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    32
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 32
    Points : 28
    Points
    28
    Par défaut
    ok j'ai trouvé tout seul

    je me trompais dans mon dernier image copy c'etait simplement :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    imagecopy($image_p2,$image_p3,$destx,$desty,0,0,$width,$height);

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

Discussions similaires

  1. Transparence des images PNG sous Internet Explorer
    Par Torpedox dans le forum Webdesign & Ergonomie
    Réponses: 12
    Dernier message: 14/10/2008, 23h41
  2. [ImageMagick] Couleur transparente image png
    Par f56bre dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 12/02/2007, 07h44
  3. [D5] Zoom d'image PNG avec transparence
    Par Thierry Laborde dans le forum Delphi
    Réponses: 9
    Dernier message: 12/06/2006, 15h41
  4. [ImageMagick] Les images PNG ne s'affichent pas
    Par JavaAcro dans le forum Bibliothèques et frameworks
    Réponses: 5
    Dernier message: 20/01/2006, 18h36
  5. [ImageMagick] Mixer une image Gif et PNG
    Par rigolman dans le forum Bibliothèques et frameworks
    Réponses: 14
    Dernier message: 16/10/2005, 14h58

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