zoukankan      html  css  js  c++  java
  • 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 以前也用过,需要装第三方库。

    折分小图后:

  • 相关阅读:
    poj 3666 Making the Grade
    poj 3186 Treats for the Cows (区间dp)
    hdu 1074 Doing Homework(状压)
    CodeForces 489C Given Length and Sum of Digits...
    CodeForces 163A Substring and Subsequence
    CodeForces 366C Dima and Salad
    CodeForces 180C Letter
    CodeForces
    hdu 2859 Phalanx
    socket接收大数据流
  • 原文地址:https://www.cnblogs.com/ningci/p/11625848.html
Copyright © 2011-2022 走看看