Page 1 of 1

Filename generating

Posted: Mon May 24, 2010 7:45 am
by wattee
Hi

I have a problem with generating enough filenames.

I have 2 functions,

The base of the 1st function is this:

Code: Select all

  foreach ($arry as $i => $ystart) {
				$pic = $this->pilt();
                $pic->cropImage(256,256,$xstart,$ystart);  
	   			$failinimi = "bunny/bunny_0" . $i . ".png";    
	            $pic->writeImages($failinimi, false); 

        }
What it does is that it takes an image crops it vertically like a column into 256pixel pieces. $ystart array has values inside the function and $xstart array gets passed in.
Now the problem is the auto generating filename, since width is usually wider than heigth it only generates filename numbers as much there is height pieces. Therego it overwrites the picture files as many times there are width pieces($xstart).
What i want is to get all the sliced images with different names. As if there was 24 pieces(like 4 height, 6 width) i'd name them 1-24.


This is from my other function, passing the argument.

Code: Select all

foreach ($arrx as $xstart){
			$this->loigu($xstart);
 
		}

Would greatly appreciate the help you can give me.

Re: Filename generating

Posted: Mon May 24, 2010 9:49 am
by AbraCadaver
I'm not totally sure because I can't tell what all of the arrays are or what the functions do, but maybe something like this:

Code: Select all

foreach  ($arrx as  $k => $xstart){
   $this->loigu($xstart, $k); 
}
Then in your function you need to take another argument and do this:

Code: Select all

function loigu($xstart, $number) {
   foreach ($arry as $i => $ystart) {
      $pic = $this->pilt();
      $pic->cropImage(256,256,$xstart,$ystart);  
      $failinimi = "bunny/bunny_" . $number . $i . ".png";    
      $pic->writeImages($failinimi, false);
   }
}

Re: Filename generating

Posted: Tue May 25, 2010 1:13 am
by wattee
hey, thanks a bunch. it worked