php imagick 获取psd图层信息

Posted newmiracle宇宙

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php imagick 获取psd图层信息相关的知识,希望对你有一定的参考价值。

php imagick 获取psd图层信息
<pre>
<?php
$projectname = ‘test‘;
$im = new Imagick("test.psd");
$num_layers = $im->getNumberImages();

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

$im->setImageIndex($i); //this
$im->setIteratorIndex($i); //or this is kinda redundant


$pagedata = $im->getImagePage();
$pagedata[‘label‘] = $im->getImageProperties("*")[‘label‘];
$allinfo[] =$pagedata;
$im->writeImage($pagedata[‘label‘] . ‘.png‘); //导出所有图层到单独的png文件

}

print_r($allinfo);
exit();
</pre>


输出数组如下
width是图片宽度
height是图片高度
x和y都是图片相对于容器的位置
label是图层名字 一般用英文 不会乱码
<pre>
Array
(
[0] => Array
(
[width] => 750
[height] => 1206
[x] => 0
[y] => 0
[label] => bg
)

[1] => Array
(
[width] => 346
[height] => 260
[x] => 292
[y] => 472
[label] => wef1
)

[2] => Array
(
[width] => 269
[height] => 221
[x] => 49
[y] => 40
[label] => wef
)

)
</pre>

<a href="http://newmiracle.cn/test.psd">test.psd文件下载地址</a>

以上是关于php imagick 获取psd图层信息的主要内容,如果未能解决你的问题,请参考以下文章

php image_resize_imagick.php

php_imagick是怎么实现复古效果的呢?

使用imagick PHP在png图像周围添加边框

imagick 崩溃与 PHP 5.3

添加php模块 imagick

WP_Image_Editor_Imagick 漏洞临时解决方法