裁剪图像并保存它们

时间:2011-05-15 03:15:05

标签: php image gd

我有这个.png:

terrain

我想裁剪一个16x16的正方形并将其保存为另一个带有名字的.png,然后我需要继续接下来的16个像素(向右然后到下一行),直到我完成整个图像,所以我将从原始图像中获得总共256个.png的个体精灵。

这可能与GD有关吗?我在浪费时间吗?有没有其他方法可以做到这一点,而不是使用Photoshop并将它们单独保存为疯狂?

谢谢:)

1 个答案:

答案 0 :(得分:1)

此代码会将第一行复制为16张小图片。

<?php
set_time_limit(0);
for($f1=0;$f1<16;$f1++){
 cropImg(0,16 * $f1,'r0mzR.png','row1'.$f1.'.png');
}

function cropImg($x,$y,$f,$n){
 $image = imagecreatefrompng($f); 
 $crop = imagecreatetruecolor(16,16);
 imagecopy ($crop, $image, 0, 0, $x, $y,16, 16 );
 imagepng($crop,$n);
}
?>

要获得第二行,只需复制第二个循环

 for($f2=0;$f2<16;$f2++){
  cropImg(16,16 * $f2,'r0mzR.png','row2'.$f2.'.png');
 }

函数cropImg首先获取4个参数x位置,y位置,原始文件名和输出文件名。

PS:&lt; 3 minecraft