码迷,mamicode.com
首页 > Web开发 > 详细

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

时间:2019-10-05 22:40:17      阅读:129      评论:0      收藏:0      [点我收藏+]

标签:pre   很多   plist   软件   开始   技术   ==   com   date   

最近,迷上了用 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 一个个切

标签:pre   很多   plist   软件   开始   技术   ==   com   date   

原文地址:https://www.cnblogs.com/ningci/p/11625848.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!