我有这个.png:
我想裁剪一个16x16的正方形并将其保存为另一个带有名字的.png,然后我需要继续接下来的16个像素(向右然后到下一行),直到我完成整个图像,所以我将从原始图像中获得总共256个.png的个体精灵。
这可能与GD有关吗?我在浪费时间吗?有没有其他方法可以做到这一点,而不是使用Photoshop并将它们单独保存为疯狂?
谢谢:)
答案 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