plist 图集 php 批量提取 PS 一个个切

Posted ningci

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了plist 图集 php 批量提取 PS 一个个切相关的知识,希望对你有一定的参考价值。

最近,迷上了用 cocos2d 做游戏开发。由于是新入门,很多东西从头开始学。

在使用 sprite 的 Rect 裁剪显示的时候,显示总是多一块。所以,要从图集中提取一张张图,这样就省了裁剪。

原图是这样的,一大张 png 图集,花钱买的素材,可是并没有提供 plist 文件。

技术图片

如果,只有几张,就ps 手切了,现在有点多,还要画很多条参考线。

先在网上搜了几下,没有发现适用的软件,只得自己做一个了,python , java, c#, php 都可以做,考虑到还要配置各种环境,

所以还是用最拿手的 php 来搞,源码如下:

 1 <?php
 2 //author: nejidev
 3 //date: 2019-10-05 21:29
 4 $src_png = imagecreatefrompng(‘card.png‘);
 5 
 6 $width   = 100;
 7 $height  = 134;
 8 $top     = 0;
 9 $left    = 0;
10 
11 for($i=0; $i<5; $i++)
12 
13     $left = 0;
14     for($j=0; $j<13; $j++)
15     
16         $new_png = imagecreate($width, $height);
17         imagecopy($new_png, $src_png, 0, 0, $left, $top, $width, $height);
18         imagepng($new_png, "$i-$j.png");
19         imagedestroy($new_png);
20         $left += $width;
21     
22     $top += $height;
23     //top 微调
24     if(0 == $i) $top += -1;
25     if(1 == $i) $top += -1;
26     if(2 == $i) $top += 0;
27     if(3 == $i) $top += -1;
28 
29 imagedestroy($src_png);

PHP 果然没让失望,几下代码就搞定了,其实核心只有一行 imagecopy() ,要是 java 估计多几倍,python 以前也用过,需要装第三方库。

折分小图后:

技术图片

 

以上是关于plist 图集 php 批量提取 PS 一个个切的主要内容,如果未能解决你的问题,请参考以下文章

纹理图集的 plist 中缺少精灵名称

NGUI的sprite的使用

将图片合成图集 pList

游戏开发小技TexturePacker生成的图集逆向切分成精灵小图(json | python | PIL | TextureUnPacker | 逆向 | 切图)

游戏开发小技TexturePacker生成的图集逆向切分成精灵小图(json | python | PIL | TextureUnPacker | 逆向 | 切图)

游戏开发小技TexturePacker生成的图集逆向切分成精灵小图(json | python | PIL | TextureUnPacker | 逆向 | 切图)