如何将图像切割/分割成若干部分[PHP]
我尝试创建类似do(将图像分割成碎片)的东西如何将图像切割/分割成若干部分[PHP],php,image,Php,Image,我尝试创建类似do(将图像分割成碎片)的东西 我想垂直地每20个像素对图像进行一次切片,但上面的代码只适用于第一个像素:'( 谢谢您正在更改高度,您应该更改y值 ... $a = 0; while($a<=$height){ $slice[] = $a; $a+=20; } if($a>$height && end($slice) !== $height){ $slice[] = $a+($height-$a); } for($i=0;$
我想垂直地每20个像素对图像进行一次切片,但上面的代码只适用于第一个像素:'(
谢谢您正在更改高度,您应该更改y值
...
$a = 0;
while($a<=$height){
$slice[] = $a;
$a+=20;
}
if($a>$height && end($slice) !== $height){
$slice[] = $a+($height-$a);
}
for($i=0;$i<count($slice);$i++){
$im2 = imagecrop($im, ['x' => 0, 'y' => $slice[$i], 'width' => $width, 'height' => 20);
if ($im2 !== FALSE) {
imagejpeg($im2, "test/example-$i.jpg");
imagedestroy($im2);
}
}
...
。。。
$a=0;
while($a$height&&end($slice)!=$height){
$slice[]=$a+($height-$a);
}
对于($i=0;$i0,$y'=>$slice[$i],'width'=>$width,$height'=>20);
如果($im2!==FALSE){
imagejpeg($im2,“测试/示例-$i.jpg”);
2美元;
}
}
...
在imagecrop函数中,y
坐标始终设置为0。因此,在循环时,图像从初始坐标y=0
剪切到$slice[$i]
我建议用户改为使用以下for循环:
for($i=0;$i<count($slice);$i++){
$im2 = imagecrop($im, ['x' => 0, 'y' => $slice[$i] - $a, 'width' => $width, 'height' => $slice[$i]]);
if ($im2 !== FALSE) {
imagejpeg($im2, "test/example-$i.jpg");
imagedestroy($im2);
}
}
for($i=0;$i0,$y'=>$slice[$i]-$a,'width'=>$width,'height'=>$slice[$i]]);
如果($im2!==FALSE){
imagejpeg($im2,“测试/示例-$i.jpg”);
2美元;
}
}
您的“此站点”链接似乎有误?您的意思是:?@KIKO Software edited。
for($i=0;$i<count($slice);$i++){
$im2 = imagecrop($im, ['x' => 0, 'y' => $slice[$i] - $a, 'width' => $width, 'height' => $slice[$i]]);
if ($im2 !== FALSE) {
imagejpeg($im2, "test/example-$i.jpg");
imagedestroy($im2);
}
}