PHP中使用Imagick操作PSD文件实例

yipeiwu_com7年前PHP代码库

参考资料:
http://www.php.net/manual/zh/book.imagick.php

前提

复制代码 代码如下:

$im = new Imagick("test.psd");

获取图层数目

复制代码 代码如下:

$num_layers = $im->getNumberImages();

获取所有参数:

复制代码 代码如下:

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");
 
    foreach($im->getImageProperties("*") as $k => $v) print("$k: $v<br/>\n");
 
    //export layer
    //$im->writeImage('layer_' . $i . '.png'); //导出所有图层到单独的png文件
}

相关文章

php使用imagecopymerge()函数创建半透明水印

php使用imagecopymerge()函数创建半透明水印

使用imagecopymerge() 函数创建半透明水印,供大家参考,具体内容如下 <?php // 加载要加水印的图像 $im = imagecreatefromjp...

Content-Disposition使用方法和注意事项

最近不少Web技术圈内的朋友在讨论协议方面的事情,有的说web开发者应该熟悉web相关的协议,有的则说不用很了解。个人认为这要分层次来看待这个问 题,对于一个新手或者刚入门的web开发人...

PHP 简单数组排序实现代码

php 简单数组排序的方法,供大家学习参考。PHP不知道如何去比较两个数组,需要建立一个比较它们的方法。 一、数字索引数组的初始化 复制代码 代码如下:$arr = array('10...

PHP中的浅复制与深复制的实例详解

PHP中的浅复制与深复制的实例详解 前言: 最近温习了一下Design Pattern方面的知识,在看到Prototype Pattern这一设计模式时,注意到其中涉及到一个浅复制与深复...

PHP图像处理之imagecreate、imagedestroy函数介绍

使用PHP的GD库处理图像时,必须对画布进行管理。创建画布就是在内存中开辟一块存储区域,以后在PHP中对图像的所有操作都是基于这个图布处理的,图布就是一个图像资源。在PHP中,可以使用i...