欢迎登录

PHP九宫格图片分割

:2019-11-09    :71 次   :1588 字   

前言:

在前面时间看到一个需求需要把图片分成9宫格或16宫格,现在用php简单实现一下,代码实现简单,直接附上代码和效果

代码:

<?php
function segmentation($w, $h, $filename)
{
    //获取原图wdith和height
    list($width, $height) = getimagesize($filename);
    //分割后大小
    $newwidth = floor($width / $w);
    $newheight = floor($height / $h);
    //复制
    $source = imagecreatefromjpeg($filename);
    for ($i = 0; $i < $h; $i++) {
        for ($j = 0; $j < $w; $j++) {
            $startY = $i * $newheight;
            $startX = $j * $newwidth;
            $thumb = ImageCreateTrueColor($newwidth, $newheight);
            //结果对象,来源对象,结果对象x起点,结果对象y起点,来源对象x起点,来源对象y起点,需要的width,需要的height
            imagecopy($thumb, $source, 0, 0, $startX, $startY, $newwidth,  $newheight);
            imagejpeg($thumb, "{$i}{$j}.jpg", 100);
        }
    }
}
segmentation(4, 4, "bg.jpg");
?>
<style>
    img {
        width: 200px;
        border: #fff solid 3px;
    }
</style>
<img src="00.jpg">
<img src="01.jpg">
<img src="02.jpg">
<img src="03.jpg">
<br>
<img src="10.jpg">
<img src="11.jpg">
<img src="12.jpg">
<img src="13.jpg">
<br>
<img src="20.jpg">
<img src="21.jpg">
<img src="22.jpg">
<img src="23.jpg">
<br>
<img src="30.jpg">
<img src="31.jpg">
<img src="32.jpg">
<img src="33.jpg">

效果图

    暂无评论,快来抢沙发吧!
×