Transparence d'une image php

cs_craso Messages postés 55 Date d'inscription mardi 6 juin 2006 Statut Membre Dernière intervention 20 janvier 2009 - 7 juin 2006 à 23:33
J_G Messages postés 1406 Date d'inscription mercredi 17 août 2005 Statut Membre Dernière intervention 28 août 2007 - 8 juin 2006 à 09:20
Bonsoir tout le monde,
je travaille sur un
il y a une fleche placée au centre de l'image, et lorsque l'on clique sur cet input, la fleche pointe en direction du pixel cliqué, mais au niveau de l'affichage, il y a un carre noir a l'interieur duquel se touve la fleche. je souhaite que ce carre soit transparent.
Je laisse le code de l'image:

<?php
extract($_GET);

$tan = (abs($x-'100')/abs($y-'100'));
$angle = atan($tan);
$teta = rad2deg($angle);




header ("Content-type: image/gif"); // L'image que l'on va créer est un gif

// On charge d'abord les images
$destination = imagecreate(200,200);
$vert = imagecolorallocate($destination, 117, 212, 29);
if($y<'100' && $x<'100')
{
$teta = ($teta+'270');
}
elseif($y>'100' && $x>'100')
{
$teta = ($teta+'90');
}
elseif($y<'100' && $x>'100')
{
$teta = ('270' - $teta);
}
else
{
$teta = ('90' - $teta);
}

$textcolor = imagecolorallocate($destination, 0, 0, 255);
imagestring($destination, 5, 0, 0, $teta, $textcolor);
imagestring($destination, 5, 0, 12, 'x='.$x, $textcolor);
imagestring($destination, 5, 0, 24, 'y='.$y, $textcolor);

$source = imagecreatefromgif("fleche.gif");
$rotate = imagerotate($source, $teta, 0);


// On met le logo (source) dans l'image de destination (la photo)
imagecopymerge($destination, $rotate, 85, 85, 0, 0, 43, 43, 100);

// On affiche l'image de destination qui a été fusionnée avec le logo
imagegif($destination);


?>

...ainsi que celui de la page :

<html>

<?php
extract($_GET);

if (!isset($x) or !isset($y))
{
$x=150;
$y=150;
}

echo '<form method="get"></form>';
?>


</html>

Je vous remercie par avance pour ce que vous faites et pour vos précieuses recommandations.

1 réponse

J_G Messages postés 1406 Date d'inscription mercredi 17 août 2005 Statut Membre Dernière intervention 28 août 2007 10
8 juin 2006 à 09:20
Bonjour,

normalement, tu peux le faire simplement avec ces trois fonctions :
imagecolorallocate -- Alloue une couleur pour une image
imagecolortransparent -- Définit la couleur transparente
imagecreatetruecolor -- Crée une nouvelle image en vraies couleurs

Mais tu peux aussi jouer avec le canal alpha (dégradé de trasparence). peut-être inutile pour une simple transparence GIF.

A+

(Note, vas voir la documentation de ces fonctions sur fr.php.net)
0
Rejoignez-nous