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

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

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

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

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

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

 <?php
//author: nejidev
//date: 2019-10-05 21:29
$src_png = imagecreatefrompng('card.png'); $width = 100;
$height = 134;
$top = 0;
$left = 0; for($i=0; $i<5; $i++)
{
$left = 0;
for($j=0; $j<13; $j++)
{
$new_png = imagecreate($width, $height);
imagecopy($new_png, $src_png, 0, 0, $left, $top, $width, $height);
imagepng($new_png, "$i-$j.png");
imagedestroy($new_png);
$left += $width;
}
$top += $height;
//top 微调
if(0 == $i) $top += -1;
if(1 == $i) $top += -1;
if(2 == $i) $top += 0;
if(3 == $i) $top += -1;
}
imagedestroy($src_png);

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

折分小图后:

最新文章

  1. HIVE 时间操作函数
  2. [转载] 已知strcpy的函数原型:char *strcpy(char *strDest, const char *strSrc),编写函数 strcpy(C++版)
  3. CoreProfiler/NanoProfiler
  4. 第11章 集合、比较和转换(C#入门经典第6版)
  5. isinstance 和 issubclass
  6. ACM—循环小数转变成分数知识点_C++实现
  7. c++内存泄漏处理(积累)
  8. 复杂和遗留的数据库schema
  9. python 生成 pptx 分析报告的工具包:reportgen
  10. 整理SpringMVC
  11. Gradle入门与使用
  12. RHCSA
  13. [luogu4556][Vani有约会]
  14. Context连接和断开的情况下的CRUD操作
  15. tf实现LSTM时rnn.DropoutWrapper
  16. Android集成人脸识别demo分享
  17. Spring 系列教程之 bean 的加载
  18. 无线端安全登录与鉴权一之Kerberos
  19. Hibernate的多对多实例
  20. fuzz系列之libfuzzer

热门文章

  1. 学习python-20191208(1)-Python Flask高级编程开发鱼书_第03章_数据与flask路由
  2. MyBatis注解及动态Sql
  3. dtree加载菜单基本使用方法
  4. oracle存储过程随笔
  5. http、https的压测工具——apacheab 、webbench
  6. dos窗口运行python文件提示找不到模块
  7. unittest(22)- p2p项目实战(4)-read_config
  8. npm(classnames) 更灵活使用类名
  9. 算法笔记-Day_01(1001 害死人不偿命的(3n+1)猜想
  10. Selenium的Web自动化测试(送源码)