FonzieV | 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:
Code :
- <?php
- $theimage = "pic1.png";
- $im = imagecreatefrompng($theimage);
- $size = getimagesize($theimage);
- $nbhorz=$size[0]/24;
- $nbvert=$size[1]/24;
- $name=0;
- $number=0;
- for($i=0;$i<$nbvert;$i++)
- {
- for($j=0;$j<$nbhorz;$j++)
- {
- $im2 = imagecreate(24,24);
- imagecopyresampled($im2,$im,0,0,$j*24,$i*24,24,24,24,24);
- header("Content-type: image/png" );
- $name="$number.png";$number++;
- imagepng($im2,$name);
- }
- }
- ?>
|
Après quelques recherches, et analyse d'autres script, j'ai réalisé ce code (qui ne marche pas non-plus)
Code :
- <?php
- $theimage = "pic1.png";
- $im = imagecreatefrompng($theimage);
- $size = getimagesize($theimage);
- $nbhorz=$size[0]/24;
- $nbvert=$size[1]/24;
- $name=0;
- $number=0;
- for($i=0;$i<$nbvert;$i++)
- {
- for($j=0;$j<$nbhorz;$j++)
- {
- $im2 = imagecreate(24,24);
- imagecolortransparent($im2,imagecolorallocate($im2,255,0,255));
- imagefill($im2, 0, 0, imagecolorallocate($im2,255,0,255));
- imagecopyresampled($im2,$im,0,0,$j*24,$i*24,24,24,24,24);
- header("Content-type: image/png" );
- $name="$number.png";$number++;
- imagepng($im2,$name);
- }
- }
- ?>
|
Personne ne sait comment faire ici?
Merci beaucoup.
Bye
Fonzie Message édité par FonzieV le 09-08-2004 à 16:17:49
|