PHP文字转图片功能原理与实现方法分析


Posted in PHP onAugust 31, 2017

本文实例讲述了PHP文字转图片功能。分享给大家供大家参考,具体如下:

这项功能主要用于对邮箱地址、手机等可能被网络爬虫抓取的重要信息的处理。将文字转化为图片绝对是个好注意。验证码的基本生成原理也与此差不多,只是对再对文字转化为图片的生成过程再复杂化,让扫描机器无法识别。php的文字转图片很简单,先在php的安装目录打开php.ini,找到extension=php_gd2.dll,将其前面的引号去掉,打开php的gd2扩展库,就能直接使用php的关键字,将文字转图片。

PHP文字转图片功能原理与实现方法分析

目录结构如下,img_generator.php是文字转图片所处理的php,index.html是呈现给用户的页面。

PHP文字转图片功能原理与实现方法分析

index.html的代码非常非常简单,搞个img标签,里面的src就写img_generator.php,然后后面带一个text参数,向img_generator.php发送一个Get请求,img_generator.php这个页面本质是一个根据参数,所产生的一张图片。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>图片测试</title>
</head>
<body>
<img src="img_generator.php?text=abc@test.com">
</body>
</html>

img_generator.php的代码如下,通过$_REQUEST["text"];拿到index.html中的img标签传递过来的text阐述,之后用一系列的php关键字,也就是固有的方法生成的图片即可。

<?php
  $text=$_REQUEST["text"];//显示的文字
  $size=12;//字体大小
  $font="c:/windows/fonts/SIMHEI.TTF";//字体类型,这里为黑体,具体请在windows/fonts文件夹中,找相应的font文件
  $img=imagecreate(500,24);//创建一个长为500高为16的空白图片
  imagecolorallocate($img,0xff,0xff,0xff);//设置图片背景颜色,这里背景颜色为#ffffff,也就是白色
  $black=imagecolorallocate($img,0x00,0x00,0x00);//设置字体颜色,这里为#000000,也就是黑色
  imagettftext($img,$size,0,0,16,$black,$font,$text);//将ttf文字写到图片中
  header('Content-Type: image/png');//发送头信息
  imagepng($img);//输出图片,输出png使用imagepng方法,输出gif使用imagegif方法
?>

实质上,与《php投票系统之增加与删除投票(管理员篇)》中的原理是一样的。

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
PHP新手上路(十二)
Oct 09 PHP
并发下常见的加锁及锁的PHP具体实现代码
Oct 12 PHP
改写函数实现PHP二维/三维数组转字符串
Sep 13 PHP
使用php计算排列组合的方法
Nov 13 PHP
php汉字转拼音的示例
Feb 27 PHP
PHP图片自动裁切应付不同尺寸的显示
Oct 16 PHP
thinkphp的URL路由规则与配置实例
Nov 26 PHP
PHP中PDO的事务处理分析
Apr 07 PHP
PHP购物车类Cart.class.php定义与用法示例
Jul 20 PHP
PHP图像处理技术实例总结【绘图、水印、验证码、图像压缩】
Dec 08 PHP
PHP示例演示发送邮件给某个邮箱
Apr 03 PHP
ThinkPHP 5.1 跨域配置方法
Oct 11 PHP
laravel如何开启跨域功能示例详解
Aug 31 #PHP
Laravel构建即时应用的一种实现方法详解
Aug 31 #PHP
[原创]PHP实现字节数Byte转换为KB、MB、GB、TB的方法
Aug 31 #PHP
PHP下 Mongodb 连接远程数据库的实例代码
Aug 30 #PHP
php实现与python进行socket通信的方法示例
Aug 30 #PHP
利用PHP访问MySql数据库的逻辑操作以及增删改查的实例讲解
Aug 30 #PHP
PHP Socket网络操作类定义与用法示例
Aug 30 #PHP
You might like
PHP采集腾讯微博的实现代码
2012/01/19 PHP
phpmyadmin3 安装配置图解教程
2012/03/29 PHP
php 模拟 asp.net webFrom 按钮提交事件的思路及代码
2013/12/02 PHP
PHP数组和explode函数示例总结
2015/05/08 PHP
PHP类型约束用法示例
2016/09/28 PHP
mac系统下安装多个php并自由切换的方法详解
2017/04/21 PHP
PHP编译configure时常见错误的总结
2017/08/17 PHP
PHP中散列密码的安全性分析
2019/07/26 PHP
tp5框架前台无限极导航菜单类实现方法分析
2020/03/29 PHP
JavaScript 获得选中文本内容的方法
2009/02/15 Javascript
javascript动态加载三
2012/08/22 Javascript
js鼠标滑轮滚动事件绑定的简单实例(兼容主流浏览器)
2014/01/14 Javascript
元素未显示设置width/height时IE中使用currentStyle获取为auto
2014/05/04 Javascript
基于JavaScript实现类似于百度学术高级检索功能
2016/03/02 Javascript
分享js粘帖屏幕截图到web页面插件screenshot-paste
2020/08/21 Javascript
深入理解bootstrap框架之入门准备
2016/10/09 Javascript
浅谈vue-router2路由参数注意的问题
2017/11/08 Javascript
写一个移动端惯性滑动&amp;回弹Vue导航栏组件 ly-tab
2018/03/06 Javascript
微信小程序rich-text富文本用法实例分析
2019/05/20 Javascript
javascript实现的字符串转换成数组操作示例
2019/06/13 Javascript
解决vant title-active-color与title-inactive-color不生效问题
2020/11/03 Javascript
Python实现统计文本文件字数的方法
2017/05/05 Python
Python微信公众号开发平台
2018/01/25 Python
Python实现PS滤镜特效Marble Filter玻璃条纹扭曲效果示例
2018/01/29 Python
Python numpy实现二维数组和一维数组拼接的方法
2018/06/05 Python
Pytorch在NLP中的简单应用详解
2020/01/08 Python
NumPy排序的实现
2020/01/21 Python
用Python做一个久坐提醒小助手的示例代码
2020/02/10 Python
详解win10下pytorch-gpu安装以及CUDA详细安装过程
2021/01/28 Python
Chain Reaction Cycles芬兰:世界上最大的在线自行车商店
2017/12/06 全球购物
加拿大建筑和装修专家:Reno-Depot
2017/12/21 全球购物
主持人开幕词
2015/01/29 职场文书
新闻稿格式范文
2015/07/18 职场文书
Win10系统下配置Java环境变量
2021/06/13 Java/Android
MySql子查询IN的执行和优化的实现
2021/08/02 MySQL
Python 正则模块详情
2021/11/02 Python