Search code examples
phpimagemagickpsd

PHP: Get the position (x, y) of the layer of PSD file


I am using Imagemagick with PHP and want to get the position of the layer (x,y) but dont know how.

I read the PSD file in PHP and read every layer in it like this:

for ($i = 0, $num_layers = $im->getNumberImages(); $i < $num_layers; ++$i) { ...

Solution

  • <?php
    
    for ($i = 0, $num_layers = $im->getNumberImages(); $i < $num_layers; ++$i) {
        $im->setImageIndex($i);         //this
        $im->setIteratorIndex($i);      //or this is kinda redundant
        $pagedata=$im->getImagePage();
    
        print("x,y: " . $pagedata["x"].", ".$pagedata["y"]."<br />\n");
        print("w,h: " . $pagedata["width"].", ".$pagedata["height"]."<br />\n");
    
        //export layer
        //$im->writeImage('layer_' . $i . '.png');
    }
    
    ?>