Pbme avec une couleur de transparence

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Pbme avec une couleur de transparence

Re: Pbme avec une couleur de transparence

par Dokey » 18 sept. 2010, 15:28

Hélas Ryle, je me retrouves avec le même résultat que la première capture.

Re: Pbme avec une couleur de transparence

par Ryle » 18 sept. 2010, 15:25

Et si tu rends ton fond transparent avant de tourner l'image ? :)

Pbme avec une couleur de transparence

par Dokey » 18 sept. 2010, 14:47

Bonjour à tous,

Je me tournes vers vous pour vous demander un peu d'aide.
J'ai créé un petit script qui, en gros, créé une image, dessine un rectangle qui me servira de bordure, importe une autre image à l'intérieur de celle-ci, et pivote le tout.
Le problème est que je n'arrives pas à obtenir un arrière-plan parfaitement transparent.

Voilà le premier script :
// je cree mon image
$render = ImageCreateTrueColor(100, 75);
// definition de la couleur de fond transparente
$bgTransparent = imagecolorallocatealpha($render, 255, 0, 191, 127);
// je remplis mon image avec ma couleur normalement transparente
imagefill($render, 0, 0, $bgTransparent);
// je definis ma couleur blanche pour ma bordure
$bgWhite = imagecolorallocatealpha($render, 255, 255, 255, 0);
// je dessine mon rectangle blanc
imageFilledRectangle($render, 0, 0, 100, 75, $bgWhite);
// l'importe ma deuxième image	
$source = ImageCreateFromJpeg($url);
// je l'inclus a l'interieur de mon image source
ImageCopyResampled($render, $source, 5 , 5, 0, 0, 90, 65, 100, 75);
// et enfin l'effectues une rotation de 20 degrees
$render = imagerotate($render, 20, $bgTransparent);
Voilà le rendu que j'obtiens :

Image

Tout c'est bien passé sauf que mon arrière-plan n'est pas transparent comme convenue.
J'ai donc décidé d'ajouter cette syntaxe à la fin de mon script pour definir la couleur de transparence :
imagecolortransparent($render, $bgTransparent);
Et j'obtiens :

Image

Comme vous pouvez le constater, il me reste des traces de ma couleur transparente ce qui n'est pas très joli.

Auriez-vous une solution à me proposer ?

Merci d'avance