[PHP] Sprite

Avatar du membre
Petit nouveau ! | 2 Messages

04 oct. 2015, 17:59

Bonjour à tous,

Voilà, je suis nouveau ici et je suis nouveau dans le monde du PHP (environ 2 semaines à peine). Ce post est le premier, j’espère que vous serez indulgent avec moi.

J'ai actuellement pour projet de créer un sprite en php (concaténer toute mes images png en une seul et même image, du dossier passé en argument). J'ai des options aussi a prendre en compte mais malheureusement j'ai beau traîner sur des forum ou le man du PHP, j'ai du mal à comprendre..
Voici mon code source :
<?php

	function sprite($files = array(), $dest = '')
	{
		$files_tmp = array();

		foreach ($files as $file) 
		{
			list($w, $h, $t) = getimagesize($file);
		}

		foreach ($files_tmp as $file)
		{
	        if ($file['type'] == IMAGETYPE_PNG)
	        {
	            $tmp = imagecreatefrompng($file['file']);
	        }
	        else
	        {
	        	echo 'Erreur : Format d\'image incorrect';
	        }
			$img = imagecreatetruecolor($width, $height);
	        imagecopy($img, $tmp, $pos, 0, 0, 0, $imgwidth, $imgheight);
	    }
	}

	$nb_files = 1;

	if ($argc > 1)
	{
		if ($folder = opendir($argv[$argc - 1]))
		{
			while(false !== ($files = readdir($folder)))
			{
				if($files != '.' && $files != '..')
				{
					echo $nb_files." "; // On affiche tout les fichiers trouve, ainsi que le nombre de fichier trouve
					$nb_files++; // On incrémente le compteur a chaque fichier trouve
					echo $files."\n";
				}
			}
		}
	}

sprite(glob('*.png'), 'sprite.jpg');
?>
Merci à vous !!

Mammouth du PHP | 2703 Messages

04 oct. 2015, 18:44

quelle est la question ?

$files_tmp = array();
foreach ($files_tmp as $file){
}
cela ne va donc jamais rentrer dans la seconde boucle.

Avatar du membre
Petit nouveau ! | 2 Messages

04 oct. 2015, 18:53

Merci d'avoir répondu !
Pourquoi elle ne rentre pas dans ma seconde boucle ? Parce qu'il n'y a rien dans mon tableau $files_tmp ?
Ma question est comment puis-je procéder pour pouvoir réaliser mon projet, car je bloque complètement.

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9783 Messages

05 oct. 2015, 10:10

Bonjour et bienvenue sur PHPfrance !

Il me semble que le bout de code suivant est proche de ce que tu souhaites faire :
http://www.innvo.com/1315192249-css-sprites-with-php
Quand tout le reste a échoué, lisez le mode d'emploi...