PHP语言基础学习五:图像处理
小标 2018-07-26 来源 : 阅读 1147 评论 0

摘要:本文主要向大家介绍了PHP语言基础学习五:图像处理,通过具体的内容向大家展示,希望对大家学习php语言有所帮助。

本文主要向大家介绍了PHP语言基础学习五:图像处理,通过具体的内容向大家展示,希望对大家学习php语言有所帮助。

<!-- 图像处理 --> 

<?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, 'haha.jpg'); 

//     echo "<img src='haha.jpg'>"; 

//     imagedestroy($img); 

?> 

   

<!-- 开发验证码(生成验证码) --> 

<?php 

    check_code(); 

    function check_code($width = 100, $height = 50, 

        $num = 4, $type = 'jpeg'){ 

        $img = imagecreate($width, $height); 

        $string = ''; 

        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('%c', $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 = 'image' . $type; 

        $header = 'Content-type:image/'.$type; 

        if (function_exists($func)) { 

            header($header); 

            $func($img); 

        }else { 

           echo '图片类型不支持';  

        } 

        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('fbb.png'); 

       

    $percent = 0.1; 

    list($width, $height) = getimagesize('fbb.png'); 

       

    $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('content-type:image/jpeg'); 

    imagejpeg($new_image); 

?> 

   

<!-- 图片水印处理 --> 

<?php 

    $dst = imagecreatefrompng('https://img.php.cn/upload/course/000/ 

        000/002/5833ebba648cf229.png'); 

    $src = imagecreatefrompng('https://img.php.cn/ 

        upload/course/000/000/002/5833ebe90cc11285.png'); 

    $dst_info = getimagesize('5833ebba648cf229.png'); 

    $src_info = getimagesize('5833ebe90cc11285.png'); 

       

    $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('Content-type:image/png'); 

    imagepng($dst); 

    imagedestroy($dst); 

    imagedestroy($src); 

?> 

   

<!-- 做一个智能的图片水印函数 --> 

<?php 

       

以上就介绍了PHP的相关知识,希望对PHP有兴趣的朋友有所帮助。了解更多内容,请关注职坐标编程语言PHP频道!

本文由 @小标 发布于职坐标。未经许可,禁止转载。
喜欢 | 1 不喜欢 | 0
看完这篇文章有何感觉?已经有1人表态,100%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程