Heim  >  Artikel  >  Backend-Entwicklung  >  PHP-Grundkenntnisse: Bildverarbeitung

PHP-Grundkenntnisse: Bildverarbeitung

jacklove
jackloveOriginal
2018-05-22 13:49:251469Durchsuche

Während des Erlernens von PHP werden Sie auf die Bildverarbeitung stoßen. In diesem Artikel wird die Bildverarbeitungsmethode vorgestellt.

8b859d87608db732b8c3bca8ff27aa2c

<?php 
//     图片处理gd2配置文件修改 
?> 
   
<!-- 用图片处理函数画一张图 --> 
<?php 
//     $img = imagecreatetruecolor(500, 500); 
//     $red = imagecolorallocate($img, 255, 0, 0); 
//     $green = imagecolorallocate($img, 0, 255, 0); 
//     $blue = imagecolorallocate($img, 0, 0, 255); 
//     $pur = imagecolorallocate($img, 255, 0, 255); 
//     $yellow = imagecolorallocate($img, 121, 72, 0); 
       
//     imagefilledrectangle($img, 0, 0, 500, 500, $green); 
//     imageline($img, 0, 0, 500, 500, $red); 
//     imageline($img, 500, 0, 0, 500, $blue); 
       
//     imagefilledellipse($img, 250, 250, 200, 200, $yellow); 
       
//     imagefilledellipse($img, 200, 200, 300, 300, $blue); 
       
//     imagejpeg($img, &#39;haha.jpg&#39;); 
//     echo "<img src=&#39;haha.jpg&#39;>"; 
//     imagedestroy($img); 
?> 
   
<!-- 开发验证码(生成验证码) --> 
<?php 
    check_code(); 
    function check_code($width = 100, $height = 50, 
        $num = 4, $type = &#39;jpeg&#39;){ 
        $img = imagecreate($width, $height); 
        $string = &#39;&#39;; 
        for ($i = 0;$i < $num; $i++){ 
            $rand = mt_rand(0, 2); 
            switch ($rand) { 
                case 0: 
                    $ascii = mt_rand(48, 57); 
                    break; 
                case 1: 
                    $ascii = mt_rand(65, 90); 
                    break; 
                case 2: 
                    $ascii = mt_rand(97, 122); 
                    break; 
            } 
            $string .= sprintf(&#39;%c&#39;, $ascii); 
        } 
        imagefilledrectangle($img, 0, 0, $width, $height, randBg($img)); 
        for ($i = 0;$i < 50; $i++){ 
            imagesetpixel($img, mt_rand(0, $width),  
                mt_rand(0, $height), randPix($img)); 
        } 
        for ($i = 0;$i < $num;$i++){ 
            $x = floor($width/$num) * $i + 2; 
            $y = mt_rand(0, $height - 15); 
               
            imagechar($img, 5, $x, $y, $string[$i], randPix($img)); 
        } 
           
        $func = &#39;image&#39; . $type; 
        $header = &#39;Content-type:image/&#39;.$type; 
        if (function_exists($func)) { 
            header($header); 
            $func($img); 
        }else { 
           echo &#39;图片类型不支持&#39;;  
        } 
        imagedestroy($img); 
        return $string; 
    } 
    function randBg($img){ 
        return imagecolorallocate($img, mt_rand(130, 255), 
            mt_rand(130, 255), mt_rand(130, 255)); 
    } 
    function randPix($img){ 
        return imagecolorallocate($img, mt_rand(0, 120),  
            mt_rand(0, 120), mt_rand(0, 120)); 
    } 
?>  
<!-- 图像缩放和剪裁技术 --> 
<?php 
    $image = imagecreatefrompng(&#39;fbb.png&#39;); 
       
    $percent = 0.1; 
    list($width, $height) = getimagesize(&#39;fbb.png&#39;); 
       
    $new_width = $width * $percent; 
    $new_height = $height * $percent; 
       
    $new_image = imagecreatetruecolor($new_width, $new_height); 
    imagecopyresampled($new_image, $image, 0, 0, 
        0, 0, $new_width, $new_height, $width, $height); 
    header(&#39;content-type:image/jpeg&#39;); 
    imagejpeg($new_image); 
?> 
<!-- 图片水印处理 --> 
<?php 
    $dst = imagecreatefrompng(&#39;https://img.php.cn/upload/course/000/ 
        000/002/5833ebba648cf229.png&#39;); 
    $src = imagecreatefrompng(&#39;https://img.php.cn/ 
        upload/course/000/000/002/5833ebe90cc11285.png&#39;); 
    $dst_info = getimagesize(&#39;5833ebba648cf229.png&#39;); 
    $src_info = getimagesize(&#39;5833ebe90cc11285.png&#39;); 
       
    $dst_x = $dst_info[0] - $src_info[0]; 
    $dst_y = $dst_info[1] - $src_info[1]; 
    imagecopymerge($dst, $src, $dst_x, $dst_y, 0, 0,  
        $src_info[0], $src_info[1], 100); 
    header(&#39;Content-type:image/png&#39;); 
    imagepng($dst); 
    imagedestroy($dst); 
    imagedestroy($src); 
?>   
<!-- 做一个智能的图片水印函数 --> 
<?php        
?>

In diesem Artikel werden die relevanten Methoden der Bildverarbeitung erläutert. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website.

Verwandte Empfehlungen:

Thief-Programm über cURL

PHP-Sitzungsverwaltung und -steuerung

Grundlegendes Erlernen von PHP: Fehlerbehandlung

Das obige ist der detaillierte Inhalt vonPHP-Grundkenntnisse: Bildverarbeitung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn