Home  >  Article  >  Backend Development  >  How to use PHP to achieve image coding example sharing

How to use PHP to achieve image coding example sharing

*文
*文Original
2017-12-25 14:35:012058browse

How to use PHP to implement image coding? Image coding can be achieved using the GD library. This article mainly introduces the method of implementing partial coding of pictures in PHP. I hope it will be helpful to everyone.

Principle:

Add a certain width and height to each pixel of the selected area in the image to generate a rectangle. The rectangles of each pixel overlap to form a mosaic effect.
This example uses the imagecolorat of the GD library to obtain the pixel color, and uses imagefilledrectangle to draw the rectangle.

The rendering is as follows:

The code is as follows:

<?php  
/** 图片局部打马赛克 
* @param  String  $source 原图 
* @param  Stirng  $dest   生成的图片 
* @param  int     $x1     起点横坐标 
* @param  int     $y1     起点纵坐标 
* @param  int     $x2     终点横坐标 
* @param  int     $y2     终点纵坐标 
* @param  int     $deep   深度,数字越大越模糊 
* @return boolean 
*/  
function imageMosaics($source, $dest, $x1, $y1, $x2, $y2, $deep){  
  
    // 判断原图是否存在  
    if(!file_exists($source)){  
        return false;  
    }  
  
    // 获取原图信息  
    list($owidth, $oheight, $otype) = getimagesize($source);  
  
    // 判断区域是否超出图片  
    if($x1>$owidth || $x1<0 || $x2>$owidth || $x2<0 || $y1>$oheight || $y1<0 || $y2>$oheight || $y2<0){  
        return false;  
    }  
  
    switch($otype){  
        case 1: $source_img = imagecreatefromgif($source); break;  
        case 2: $source_img = imagecreatefromjpeg($source); break;  
        case 3: $source_img = imagecreatefrompng($source); break;  
        default:  
            return false;  
    }  
  
    // 打马赛克  
    for($x=$x1; $x<$x2; $x=$x+$deep){  
        for($y=$y1; $y<$y2; $y=$y+$deep){  
            $color = imagecolorat($source_img, $x+round($deep/2), $y+round($deep/2));  
            imagefilledrectangle($source_img, $x, $y, $x+$deep, $y+$deep, $color);  
        }  
    }  
  
    // 生成图片  
    switch($otype){  
        case 1: imagegif($source_img, $dest); break;  
        case 2: imagejpeg($source_img, $dest); break;  
        case 3: imagepng($source_img, $dest); break;  
    }  
  
    return is_file($dest)? true : false;  
  
}  
  
$source = &#39;source.jpg&#39;;  
$dest = &#39;dest.jpg&#39;;  
  
$flag = imageMosaics($source, $dest, 176, 98, 273, 197, 4);  
echo &#39;<img src="&#39;.$source.&#39;">&#39;;  
echo &#39;<img src="&#39;.$dest.&#39;">&#39;;  
?>

Related recommendations:

How to open the GD library in php?

#What is the GD library? Detailed introduction to loading the GD library in PHP

Solution to the garbled watermark generated by the GD library

The above is the detailed content of How to use PHP to achieve image coding example sharing. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn