Conserver la transparence png par imagecopyresampled - PHP - Programmation
Marsh Posté le 01-09-2004 à 23:28:47
Bon, up up up (j'arrive pas a croire que personne ne peut m'aider; lol).
Merci (c ma derniere tentative ^^).
Marsh Posté le 02-09-2004 à 00:12:01
désolé, j'avais pas fait gaffe que ton 1er post était déjà ben vieux...
google n'a rien donné ?
Marsh Posté le 02-09-2004 à 12:09:31
Utiliser imagecreatetruecolor() pour créer les petites images, et non imagecreate().
Code :
|
Marsh Posté le 07-09-2004 à 22:09:51
Yep,
Freekill, j'ai testé ton script mais malheuresement, il ne garde pas la transparence (même en ayant fait correspondre le numero de la couleur)...
Tu es sûr que ça marche bien?
Marsh Posté le 07-09-2004 à 23:36:09
Certain, je l'ai testé (les parties blanches sont bien transparentes)
Marsh Posté le 08-09-2004 à 00:02:42
Au lieu de par la librairie GD tu peux p-e essayer d'utilsier imageMagik ! maintenant je n'ai jamais essayé, c'est juste une idée au passage !
Marsh Posté le 08-09-2004 à 14:38:58
"Au lieu de par la librairie GD tu peux p-e essayer d'utilsier imageMagik ! maintenant je n'ai jamais essayé,"
Bin, le pb c que j'ai pas acces au serveur ^^.
"Certain, je l'ai testé… (les parties blanches sont bien transparentes)"
Donc, petite question:
-Avec quel logiciel tu as enregistré ton png (j'utilise paintshoppro6)?
Peux-tu m'envoyer l'image avec laquelle tu as fait la démo?
Merci bcp.
Bye
Fonzie
Marsh Posté le 08-09-2004 à 14:45:06
J'ai testé sur ça : http://freekill.free.fr/brols/silentblock.png
Marsh Posté le 08-09-2004 à 15:26:02
Peut-être que tu as des problèmes parce que tu utilises des PNG-24 avec plus de 256 couleurs.
Essaie ceci :
Code :
|
Marsh Posté le 09-09-2004 à 23:29:07
Merci pour ton aide.
Cependant, quand j'utilise ton code j'ai un message comme quoi la fonction imagesavealpha est introuvable.
On va faire plus simple (si c possible ^^)
Voila mon image: http://fvring.free.digitartstudio.com/input.png
Comme tu le vois, la couleur mauve (255,0,255) est transparente (et ya que 256 couleurs dans l'image.
Arrives-tu a la garder la transparence avec ton code?
Si oui, arrives tu a garder la transparence avec ce code? (c le dernier code fonctionnel que j'ai fait marcher):
<?php
$theimage = "input.png";
$im = imagecreatefrompng($theimage);
$size = getimagesize($theimage);
$nbhorz=$size[0]/16;
$nbvert=$size[1]/16;
$name=0;
$number=0;
for($i=0;$i<$nbvert;$i++)
{
for($j=0;$j<$nbhorz;$j++)
{
$im2 = imagecreate(16,16);
imagecolortransparent($im2,imagecolorallocate($im2,255,0,255));
imagefill($im2, 0, 0, imagecolorallocate($im2,255,0,255));
imagecopyresampled($im2,$im,0,0,$j*16,$i*16,16,16,16,16);
header("Content-type: image/png" );
$name="output/$number.png";$number++;
imagepng($im2,$name);
}
}
?>
Car je suis sûr que ça peut venir de mon serveur et pas du code (c quand même pas sorcier d'utiliser des fonctions gd quand même lol).
Merci bcp
Bye
Fonzie
Marsh Posté le 10-09-2004 à 04:31:21
La fonction imagesavealpha() existe dans php depuis la version 4.3.2
http://be2.php.net/manual/en/funct [...] ealpha.php
Fais un phpinfo() pour voir ce que tu as sur ton serveur.
Sinon, oui ça fonctionne avec ton image et le dernier code que je t'ai donné. (avec le tiens non)
Marsh Posté le 19-09-2004 à 11:40:07
Ok merci bcp. J'ai installé EasyPhp pour tester (j'ai pas trop le temps en ce moment mais je reviendrais s'il y a un autre pb, lol...).
Merci
++
Fonzie
Marsh Posté le 03-08-2004 à 21:36:39
Hello,
J'ai réalisé un petit bout de code en PHP pour diviser une image en cubes de 24.24 pixels (afin de les utiliser dans un editeur de .map).
Le problème est que, quand je passe par imagecopyresampled (pour couper le png en cubes), la transparence disparait.
Voila mon code initial:
Après quelques recherches, et analyse d'autres script, j'ai réalisé ce code (qui ne marche pas non-plus)
Personne ne sait comment faire ici?
Merci beaucoup.
Bye
Fonzie
Message édité par FonzieV le 09-08-2004 à 16:17:49