27 图形图像GD

本文涉及的产品
RDS MySQL DuckDB 分析主实例,集群系列 4核8GB
简介: 路老师在知乎上分享了PHP语言的知识,帮助大家入门并深入了解PHP。本文主要介绍了PHP的图形图像处理技术,包括如何查看GD库信息、创建简单图像以及在照片上添加文字等内容。 示例代码展示了如何使用GD库创建一个绿色图像和在图片上添加文字。下一篇文章将介绍如何使用图形图像处理技术生成验证码。

有胆量你就来跟着路老师卷起来! -- 纯干货,技术知识分享

路老师给大家分享PHP语言的知识了,旨在想让大家入门PHP,并深入了解PHP语言。

image.gif 编辑


上篇文章介绍了Session的高级应用,实现了将session写入到数据库mysql中。本篇文章开始介绍PHP的图形图像处理技术这块内容。

1 GD库查看及应用

1.1 查看gd的库信息

我们使用的是phpstudy集成工具,默认extension=php_gd2.dll是开启的,所以我们直接在index.php里输入phpinfo()函数就能查看gd库信息。

<?php
echo phpinfo();
?>

image.gif

image.gif 编辑

1.2 创建简单图像

使用GD2函数库可以实现各种图形图像的处理。创建画布是使用GD2库来创建图像的第一步,无论创建什么样的图像,首先都需要创建一个画布,其他别的操作都是放在这个画布上完成的。创建画布可以使用imagecreate()函数实现。

案例:创建一个宽400像素,高100像素,背景色为RGB(50,200,50),最后输出一个png格式的绿色图像。

<?php
$img = imagecreate(400,100);
$bg = imagecolorallocate($img,50,200,50);
header("Content-type:image/png");
imagepng($img);
?>

image.gif

image.gif 编辑

1.3 在照片上添加文字

GD2函数库中的imageTTFText()函数可以实现用TrueType字体向图像写入文本的功能。语法如下:

array imagettftext(resource $image, float $size, float $angle, int $x, int $y ,int $color,string $fontfile ,string $text)

image.gif

参数如下表:

参数 说明
image 由图像创建函数返回的图像资源
size 字体尺寸。根据GD库的版本,为像素尺寸(GD1)或者点(磅)尺寸(GD2)
angle 角度制表示的角度,0度为从左向右读的文本,更高的数值表示逆时针旋转。例如90表示从下往上读。
x 由x,y所表示的坐标定义了第一个字符的基本点(大概是字符的左下角)。这和imagestring()不同,其xy定义了第一个字符的左上角,例如top left为 0,0
y y坐标。他设定了字体基线的位置,不是字符的最底端。
color 颜色。
fontfile 是想要使用的TrueType字体的路径
text UTF-8编码格式的文本字符串
<?php
header("Content-type:image/jpeg");
$path= "./images/123.jpg";
$img = imagecreatefromjpeg($path);
$textcolor = imagecolorallocate($img,255,0,255);
$fnt = "C:/Windows/Fonts/FORTE.TTF";
$str = "I'm Mr Lu";
imageTTFText($img,70,0,50,270,$textcolor,$fnt,$str);
imagejpeg($img);
imagedestroy($img);
?>

image.gif

image.gif 编辑

下一篇 使用图形图像处理 技术生成验证码

相关文章
|
JSON 自然语言处理 JavaScript
JavaScript代码优化利器:从ES5到ES6(一)
JavaScript代码优化利器:从ES5到ES6
|
编解码 计算机视觉
OpenCV(三十六):霍夫直线检测
OpenCV(三十六):霍夫直线检测
379 0
|
5月前
|
安全 Windows 内存技术
应用程序无法正常启动(0xc0000185)怎么解决?
遇到应用程序无法正常启动并显示错误代码0xc0000185时,可以尝试以下解决方法
|
监控 安全 Linux
在 Linux 系统中,网络管理是重要任务。本文介绍了常用的网络命令及其适用场景
在 Linux 系统中,网络管理是重要任务。本文介绍了常用的网络命令及其适用场景,包括 ping(测试连通性)、traceroute(跟踪路由路径)、netstat(显示网络连接信息)、nmap(网络扫描)、ifconfig 和 ip(网络接口配置)。掌握这些命令有助于高效诊断和解决网络问题,保障网络稳定运行。
479 2
|
移动开发 HTML5
html5+three.js公路开车小游戏源码
html5公路开车小游戏是一款html5基于three.js制作的汽车开车小游戏源代码,在公路上开车网页小游戏源代码。
351 0
html5+three.js公路开车小游戏源码
|
小程序 Android开发 iOS开发
uni-app 安装与配置
uni-app 安装与配置
280 1
|
机器学习/深度学习 人工智能 移动开发
一文搞懂 FFN / RNN / CNN 的参数量计算公式 !!
一文搞懂 FFN / RNN / CNN 的参数量计算公式 !!
1109 3
|
JSON API 开发者
微店(Weidian)商品详情API接口解析实战
微店(Weidian)是一个基于社交关系的电商平台,为商家提供了一整套的电商解决方案。微店API接口允许开发者通过编程方式访问和操作微店平台上的数据,从而可以创建自动化的工具、应用或集成服务。
|
存储 人工智能 编解码
在Data-Driven时代下,如何打造下一代智能数据体系?
本文源自2024外滩大会“Data+AI”论坛,由蚂蚁集团数据平台与服务部负责人骆骥演讲整理。文章回顾了数据技术发展历程,指出生成式AI正推动数据技术从成本效率中心向价值中心转变。