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

yipeiwu_com5年前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命名空间学习详解

1、什么是命名空间?命名空间是一种特殊的作用域,它包含处于该作用域下的标识符,同时它本身也是一种标识符。可以把命名空间与操作系统的目录对应起来。一个命名空间相当于一个目录,命名空间里的类...

PHP实现无限极分类的两种方式示例【递归和引用方式】

本文实例讲述了PHP实现无限极分类的两种方式。分享给大家供大家参考,具体如下:面试的时候被问到无限极分类的设计和实现,比较常见的做法是在建表的时候,增加一个PID字段用来区别自己所属的分类...

使用PHP求两个文件的相对路径

复制代码 代码如下:function compare($ph1,$ph2){    $ret = '';    $_f1Arr...

php长字符串定义方法

复制代码 代码如下: <?php $x='<html><body>我很长,如何换行呢?我很长, 如何换行呢?我很长,如何换行呢?我很长, 如何换行呢?我很长...

解析zend Framework如何自动加载类

1.模块中类的自动载入复制代码 代码如下:$loader = new Zend_Application_Module_Autoloader(array(   //模块...