Home > Backend Development > PHP Tutorial > Complete collection of PHP image processing functions

Complete collection of PHP image processing functions

不言
Release: 2023-03-29 21:44:01
Original
5878 people have browsed it

This article mainly introduces the complete collection of PHP image processing functions, which has certain reference value. Now I share it with everyone. Friends in need can refer to it

php image processing code sharing, including scaling, cropping, zooming, flipping, rotating, transparency, sharpening, etc.
1. Create image resources
imagecreatetruecolor(width,height);
imagecreatefromgif(picture name);
imagecreatefrompng(image name);
imagecreatefromjpeg(image name);Draw various images imagegif(image resource, save path);
imagepng( )
imagejpeg();
2. Get the image attributes
imagesx(res//Width
imagesy(res//height
getimagesize(file path)
Returns an array with four cells. Index 0 contains the pixel value of the image width, index 1 contains the pixel value of the image height. Index 2 is a tag of the image type: 1 = GIF, 2 = JPG, 3 = PNG, 4 = SWF, 5 = PSD, 6 = BMP, 7 = TIFF (intel byte order), 8 = TIFF (motorola byte order), 9 = JPC, 10 = JP2, 11 = JPX, 12 = JB2, 13 = SWC, 14 = IFF, 15 = WBMP, 16 = XBM. These tags are new to PHP 4.3.0 IMAGETYPE constant corresponds. Index 3 is a text string with the content "height="yyy" width="xxx"", which can be directly used for IMG tags.
Destroy image resources
imagedestroy(picture resource);

3. Transparency processing
PNG and jpeg transparent colors are normal, only gif is abnormal
imagecolortransparent(resource image [,int color])//Set a color to a transparent color
imagecolorstotal()
imagecolorforindex() ;

4. Image cropping
imagecopyresized()
imagecopyresampled();

5. Add watermark (text, picture)
String encoding conversion string iconv (string $in_charset, string $out_charset, string $str)

6. Image rotation
imagerotate(); // Image flipping at a specified angle

7. Image flipping
Flip along the X axis along the Y axis

8. Sharpen

imagecolorsforindex()
imagecolorat()
Draw graphics on pictures $img=imagecreatefromgif("./images/map.gif");

  1. <?PHP
     /**
     * 图片锐化处理
     */
     $red= imagecolorallocate($img, 255, 0, 0);
     imageline($img, 0, 0, 100, 100, $red);
     imageellipse($img, 200, 100, 100, 100, $red);
     imagegif($img, "./images/map2.gif");
     imagedestroy($img);
    Copy after login

## Normal picture scaling

  1. ##
    <?php
     $filename="./images/hee.jpg";
     $per=0.3;
     list($width, $height)=getimagesize($filename);
     $n_w=$width*$per;
     $n_h=$width*$per;
     $new=imagecreatetruecolor($n_w, $n_h);
     $img=imagecreatefromjpeg($filename);
     //拷贝部分图像并调整
     imagecopyresized($new, $img,0, 0,0, 0,$n_w, $n_h, $width, $height);
     //图像输出新图片、另存为
     imagejpeg($new, "./images/hee2.jpg");
     imagedestroy($new);
     imagedestroy($img);
    Copy after login

The picture is scaled proportionally and the transparent color is not processed


  1. ##

    <?php
     function thumn($background, $width, $height, $newfile) {
     list($s_w, $s_h)=getimagesize($background);//获取原图片高度、宽度
     if ($width && ($s_w < $s_h)) {
     $width = ($height / $s_h) * $s_w;
     } else {
     $height = ($width / $s_w) * $s_h;
     }
     $new=imagecreatetruecolor($width, $height);
     $img=imagecreatefromjpeg($background);
     imagecopyresampled($new, $img, 0, 0, 0, 0, $width, $height, $s_w, $s_h);
     imagejpeg($new, $newfile);
     imagedestroy($new);
     imagedestroy($img);
     }
     thumn("images/hee.jpg", 200, 200, "./images/hee3.jpg");
    Copy after login

gif transparent color processing


  1. ##

    <?php
     function thumn($background, $width, $height, $newfile) {
     list($s_w, $s_h)=getimagesize($background);
     if ($width && ($s_w < $s_h)) {
     $width = ($height / $s_h) * $s_w;
     } else {
     $height = ($width / $s_w) * $s_h;
     }
     $new=imagecreatetruecolor($width, $height);
     $img=imagecreatefromgif($background);
     $otsc=imagecolortransparent($img);
     if($otsc >=0 && $otst < imagecolorstotal($img)){//判断索引色
     $tran=imagecolorsforindex($img, $otsc);//索引颜色值
     $newt=imagecolorallocate($new, $tran["red"], $tran["green"], $tran["blue"]);
     imagefill($new, 0, 0, $newt);
     imagecolortransparent($new, $newt);
     }
     imagecopyresized($new, $img, 0, 0, 0, 0, $width, $height, $s_w, $s_h);
     imagegif($new, $newfile);
     imagedestroy($new);
     imagedestroy($img);
     }
     thumn("images/map.gif", 200, 200, "./images/map3.gif");
    Copy after login

Picture cropping


  1. ##

    <?php
    /**
    * 图片裁剪处理
    * edit by www.jbxue.com
    */
    function cut($background, $cut_x, $cut_y, $cut_width, $cut_height, $location){
    $back=imagecreatefromjpeg($background);
    $new=imagecreatetruecolor($cut_width, $cut_height);
    imagecopyresampled($new, $back, 0, 0, $cut_x, $cut_y, $cut_width, $cut_height,$cut_width,$cut_height);
    imagejpeg($new, $location);
    imagedestroy($new);
    imagedestroy($back);
    }
    cut("./images/hee.jpg", 440, 140, 117, 112, "./images/hee5.jpg");
    ?>
    Copy after login

  2. Add watermark to picture and text watermark


  1. ##
    <?PHP
     /**
     *
     * 图片添加文字水印
     */
     function mark_text($background, $text, $x, $y){
     $back=imagecreatefromjpeg($background);
     $color=imagecolorallocate($back, 0, 255, 0);
     imagettftext($back, 20, 0, $x, $y, $color, "simkai.ttf", $text);
     imagejpeg($back, "./images/hee7.jpg");
     imagedestroy($back);
     }
     mark_text("./images/hee.jpg", "细说PHP", 150, 250);
     //图片水印
     function mark_pic($background, $waterpic, $x, $y){
     $back=imagecreatefromjpeg($background);
     $water=imagecreatefromgif($waterpic);
     $w_w=imagesx($water);
     $w_h=imagesy($water);
     imagecopy($back, $water, $x, $y, 0, 0, $w_w, $w_h);
     imagejpeg($back,"./images/hee8.jpg");
     imagedestroy($back);
     imagedestroy($water);
     }
     mark_pic("./images/hee.jpg", "./images/gaolf.gif", 50, 200);
    Copy after login

    图片旋转

    1. <?PHP
       /**
       * 图片旋转
       */
       $back=imagecreatefromjpeg("./images/hee.jpg");
       $new=imagerotate($back, 45, 0);
       imagejpeg($new, "./images/hee9.jpg");
       ?>
      Copy after login

    图片水平翻转垂直翻转

    点击(此处)折叠或打开

    1. <?php
       /**
       * 图片水平翻转 垂直翻转
       */
       function turn_y($background, $newfile){
       $back=imagecreatefromjpeg($background);
       $width=imagesx($back);
       $height=imagesy($back);
       $new=imagecreatetruecolor($width, $height);
       for($x=0; $x < $width; $x++){
       imagecopy($new, $back, $width-$x-1, 0, $x, 0, 1, $height);
       }
       imagejpeg($new, $newfile);
       imagedestroy($back);
       imagedestroy($new);
       }
       function turn_x($background, $newfile){
       $back=imagecreatefromjpeg($background);
       $width=imagesx($back);
       $height=imagesy($back);
       $new=imagecreatetruecolor($width, $height);
       for($y=0; $y < $height; $y++){
       imagecopy($new, $back,0, $height-$y-1, 0, $y, $width, 1);
       }
       imagejpeg($new, $newfile);
       imagedestroy($back);
       imagedestroy($new);
       }
       turn_y("./images/hee.jpg", "./images/hee11.jpg");
       turn_x("./images/hee.jpg", "./images/hee12.jpg");
       ?>
      Copy after login
      相关推荐:
    2. php 实用函数,php函数

    3. (转)PHP常用函数,php函数

    The above is the detailed content of Complete collection of PHP image processing functions. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:php.cn
Statement of this Website
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
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template