扣丁学堂PHP培训分享PHP图像处理技术

2019-03-26 16:22:35 1773浏览

喜欢PHP开发技术的小伙伴应该或多或少的知道或者了解一些PHP的图像处理技术吧。那么关于PHP图像处理技术你知道多少呢?本篇文章扣丁学堂PHP培训小编给读者们分享一下PHP绘图技术,希望对小伙伴有所帮助。


扣丁学堂PHP培训分享PHP图像处理技术


图:


场景: 验证码、图像水印、图像压缩处理


php绘图坐标体系是从0,0点越向右值越大,越向下值越大,需要开启php的gd2扩展 php.ini 中

参数1:图像资源(画布)

参数2:开始的x轴坐标

参数3:开始的y轴坐标

参数4:结束的x轴坐标

参数5:结束的y轴坐标

参数6:线条的颜色


(1)绘制线条: imageline($p1, $p2, $p3, $p4, $p5, $6)

(2)绘制三角形:imageline($p1, $p2, $p3, $p4, $p5, $6) // 需要3次

(3)绘制矩形:imagerectangle($p1, $p2, $p3, $p4, $p5, $6)

(3.1)绘制并填充矩形:imagefilledrectangle($p1, $p2, $p3, $p4, $p5, $6)

(4)绘制椭圆:imageellipse($p1, $p2, $p3, $p4, $p5, $6)

(4.1)绘制并填充椭圆:imagefilledellipse($p1, $p2, $p3, $p4, $p5, $6)

参数1:目标图像

参数2:原始图像

参数3:目标图像坐标x

参数4:目标图像坐标y

参数5:原始图像开始坐标x

参数6:原始图像开始坐标y

参数7:原始图像宽度

参数8:原始图像高度


(5)将图片绘制到画布上:imagecopy ( $p1, $p2, $p3, $p4, $p5, $6, $7, $8)

参数1:目标图像

参数2:字体 1,2,3,4 或 5,则使用内置字体

参数3:目标图像坐标x

参数4:目标图像坐标y

参数5:字符,文字

参数6:颜色


(6)绘制字符串:imagestring( $p1, $p2, $p3, $p4, $p5, $6)// 向画布写入字符,文字

参数1:图像资源

参数2:字体大小

参数3:倾斜角度

参数4:x轴坐标

参数5:y轴坐标

参数6:字体颜色

参数7:字体文件

参数8:文字


(7)绘制中文:imagettftext($p1, $p2, $p3, $p4, $p5, $6, $7, $8)

参数1:图像资源

参数2:弧形开始x坐标

参数3:弧形开始y坐标

参数4:弧形宽度

参数5:弧形高度

参数6:弧形开始角度

参数7:弧形结束角度

参数8:绘图颜色


(8)绘制弧形:imagearc($p1, $p2, $p3, $p4, $p5, $6, $7, $8) // 三点钟的位置是起点(0度), 顺时针方向绘画


例-弧形:


// 创建一个 200X200 的图像
$img = imagecreatetruecolor(200, 200);
// 分配颜色
$white = imagecolorallocate($img, 255, 255, 255);
$black = imagecolorallocate($img, 0, 0, 0);
// 画一个黑色的圆
imagearc($img, 100, 100, 150, 150, 0, 360, $black);
// 将图像输出到浏览器
header("Content-type: image/png");
imagepng($img);
// 释放内存
imagedestroy($img);


参数1:图像资源

参数2:弧形开始x坐标

参数3:弧形开始y坐标

参数4:弧形宽度

参数5:弧形高度

参数6:弧形开始角度

参数7:弧形结束角度

参数8:绘图颜色

参数9:填充样式


IMG_ARC_PIE : 用直线连接产生圆形边界

IMG_ARC_CHORD : 用直线连接了起始和结束点

IMG_ARC_NOFILL : 明弧或弦只有轮廓,不填充

IMG_ARC_EDGED :用直线将起始和结束点与中心点相连,和 IMG_ARC_NOFILL 一起使用是画饼状图轮廓的好方法(而不用填充)


(9)绘制弧形并填充:imagefilledarc($p1, $p2, $p3, $p4, $p5, $6, $7, $8, $9) // 三点钟的位置是起点(0度), 顺时针方向绘画



实例-弧形填充:


// 创建图像
$image = imagecreatetruecolor(100, 100);
// 分配一些颜色
$white  = imagecolorallocate($image, 0xFF, 0xFF, 0xFF);
$gray   = imagecolorallocate($image, 0xC0, 0xC0, 0xC0);
$darkgray = imagecolorallocate($image, 0x90, 0x90, 0x90);
$navy   = imagecolorallocate($image, 0x00, 0x00, 0x80);
$darknavy = imagecolorallocate($image, 0x00, 0x00, 0x50);
$red   = imagecolorallocate($image, 0xFF, 0x00, 0x00);
$darkred = imagecolorallocate($image, 0x90, 0x00, 0x00);
// 创建 3D 效果
for ($i = 60; $i > 50; $i--) {
  imagefilledarc($image, 50, $i, 100, 50, 0, 45, $darknavy, IMG_ARC_PIE);
  imagefilledarc($image, 50, $i, 100, 50, 45, 75 , $darkgray, IMG_ARC_PIE);
  imagefilledarc($image, 50, $i, 100, 50, 75, 360 , $darkred, IMG_ARC_PIE);
}
imagefilledarc($image, 50, 50, 100, 50, 0, 45, $navy, IMG_ARC_PIE);
imagefilledarc($image, 50, 50, 100, 50, 45, 75 , $gray, IMG_ARC_PIE);
imagefilledarc($image, 50, 50, 100, 50, 75, 360 , $red, IMG_ARC_PIE);
// 输出图像
header('Content-type: image/png');
imagepng($image);
imagedestroy($image);


果:


PHP学习视频



最后想要了解更多PHP开发技术内容的小伙伴可以登录扣丁学堂官网咨询,扣丁学堂有专业老师制定的PHP学习路线图辅助学员学习,此外还有与时俱进的PHP视频教程供大家学习,想要学好PHP开发技术的同学请加入扣丁学堂PHP技术交流群:374332265。


                          


 【关注微信公众号获取更多学习资料】         【扫码进入前端H5架构师进阶VIP体验课】



查看更多关于“php培训资讯”的相关文章>>



标签: PHP培训 PHP基础教程 PHP学习视频 PHP教学视频 PHP入门教程 PHP教程视频 PHP在线学习 PHP在线视频 PHP在线教程 扣丁学堂PHP培训

热门专区

暂无热门资讯

课程推荐

微信
微博
15311698296

全国免费咨询热线

邮箱:codingke@1000phone.com

官方群:148715490

北京千锋互联科技有限公司版权所有   北京市海淀区宝盛北里西区28号中关村智诚科创大厦4层
京ICP备12003911号-6   Copyright © 2013 - 2019

京公网安备 11010802030908号