Précédent   Forum des professionnels en informatique > PHP > Langage
Langage Forum sur le langage PHP, la POO, les conventions, la sécurité, etc. Avant de poster : FAQ Langage, toutes les FAQ PHP, cours langage et sources PHP
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 26/08/2011, 15h23   #1
Membre Expert
 
Avatar de Willpower
 
Homme Boris Dessy
sans emploi
Inscription : décembre 2010
Messages : 871
Détails du profil
Informations personnelles :
Nom : Homme Boris Dessy
Localisation : Belgique

Informations professionnelles :
Activité : sans emploi

Informations forums :
Inscription : décembre 2010
Messages : 871
Points : 1 380
Points : 1 380
Par défaut Image qui devient transparente

Bonjour à tous, je genère une carte à partir de 3 images :

http://www.hommk.net/final/mappa/0.png
http://www.hommk.net/final/mappa/4.png
http://www.hommk.net/final/mappa/32.png

Avec le code suivant :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
 
	$size=36; // nombre de cases
	$format=32; // taille d'une demi case
	$carte =  imagecreate(2*$format*$size,$format*$size);
	$bg = imagecolorallocate ( $carte, 255, 255, 255 );
	imagecolortransparent($carte,$bg);
 
	$images = array(
		0=>imagecreatefrompng("0.png"),
		4=>imagecreatefrompng("4.png"),
		32=>imagecreatefrompng("32.png")
	);
 
 
	for($y=0;$y<$size;$y++){
		for($x=$size-1;$x>=0;$x--){
			/* RECUPERE DANS UNE REQUETE SQL */
			$data = mysql_fetch_array($request);
			$type = $data['TYPE'];
 
			$img = $images[$type];
 
			imagecopy($carte, $img, ($x+$y)*$format, ($y-$x+$size)*($format/2), 0, 0, 2*$format, 2*$format);
		}
	}
 
	imagepng($carte,"graux_177.png");
Et voici le résultat :

http://www.hommk.net/final/mappa/graux_177.png

C'est quasi bon sauf que mes châteaux (32.png) sont devenus transparents sur ma carte .. Savez-vous comment faire pour qu'ils ne le soient pas ?

Merci d'avance.
Willpower est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/08/2011, 15h32   #2
Rédacteur
 
Avatar de jreaux62
 
Homme Jérôme Réaux
Webdesigner
Inscription : août 2008
Messages : 2 994
Détails du profil
Informations personnelles :
Nom : Homme Jérôme Réaux
Âge : 45
Localisation : France, Pas de Calais (Nord Pas de Calais)

Informations professionnelles :
Activité : Webdesigner
Secteur : Arts - Culture

Informations forums :
Inscription : août 2008
Messages : 2 994
Points : 5 787
Points : 5 787
Envoyer un message via Skype™ à jreaux62
Bonjour,
je me trompe peut-être, mais c'est toute l'image qui est transparente, non ?
Code :
1
2
	$bg = imagecolorallocate ( $carte, 255, 255, 255 );
	imagecolortransparent($carte,$bg);
imagecolortransparent() -> (doc exemple #1) "On rend l'arrière-plan transparent"
__________________
"Ce qui se conçoit bien s'énonce clairement - Et les mots pour le dire arrivent aisément."
Nicolas Boileau-Despréaux, Homme de lettres français (1636-1711), principal théoricien de l'esthétique classique.
Site perso Mes tutos DVP : Gestion-Affichage de Nouvelles - Affichage en tableau HTML - Fonctions de redimensionnement d'images
jreaux62 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/08/2011, 15h39   #3
Membre Expert
 
Avatar de Willpower
 
Homme Boris Dessy
sans emploi
Inscription : décembre 2010
Messages : 871
Détails du profil
Informations personnelles :
Nom : Homme Boris Dessy
Localisation : Belgique

Informations professionnelles :
Activité : sans emploi

Informations forums :
Inscription : décembre 2010
Messages : 871
Points : 1 380
Points : 1 380
Citation:
Envoyé par jreaux62 Voir le message
Bonjour,
je me trompe peut-être, mais c'est toute l'image qui est transparente, non ?
Code :
1
2
	$bg = imagecolorallocate ( $carte, 255, 255, 255 );
	imagecolortransparent($carte,$bg);
imagecolortransparent() -> (doc exemple #1) "On rend l'arrière-plan transparent"
Voici le résultat sans (imagecolortransparent($carte,$bg)
http://www.hommk.net/final/mappa/graux3_177.png

Et si je retire en plus ($bg = imagecolorallocate ( $carte, 255, 255, 255 )
http://www.hommk.net/final/mappa/graux2_177.png

Edit: je suis nul en graphisme, c'est p-ê mon image de base qui serait transparente : http://www.hommk.net/final/mappa/32.png ?

Pourtant quand je zoom au pixel avec photofiltre je ne vois rien transparent au centre .. :/

edit: oups résolu : à nouveau imagecreate au lieu de imagecreatetruecolor (j'avais du l'enlever pour un autre bug)
http://www.hommk.net/final/mappa/voila_177.png
Willpower est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 03h09.


 
 
 
 
Partenaires

Hébergement Web