php生成文字图片效果
php生成文字图片效果
最近看到php的GD功能,试着做了一个基本生成文字图片效果的代码:
显示文字图片页面:demo.php
<?php
$str = $_REQUEST['str'] ? $_REQUEST['str']:"暂无输入";
//$str = "中华人民共和国";
$im = imagecreate(200,200);
$white = imagecolorallocate($im,0xFF,0xFF,0xFF);
imagecolortransparent($im,$white); //imagecolortransparent() 设置具体某种颜色为透明色,若注释
$black = imagecolorallocate($im,0x00,0x00,0x00);
imagefilledrectangle($im,50,50,150,150,$black);
imagestring($im,5,50,160,"happy every day",$black);
imagettftext($im,15,0,50,40,$black,"D:\windows\Fonts\simhei.ttf",$str); //字体设置部分linux和windows的路径可能不同
header("Content-type:image/png");
imagepng($im);
?>
调用图片页面:demo2.php
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<?php $var = "中华人民共和国"; ?>
<img src="demo.php?str=<?php echo $var?>">
文字图片进阶:
环境:Red Hat AS4.0+GD2.0.28+FreeType 2.1.9
目的:生成类似链接的即具有下划线的蓝色文字图像
//获取文字并将其转化成图片
//$str = urldecode($_REQUEST['str']) ? urldecode($_REQUEST['str']):"暂无输入";
//$str = "中华人民共和国";
$font_file = "/usr/share/fonts/zh_CN/TrueType/gbsn00lp.ttf";//字体设置部分linux的路径
$text = $str; //要显示的字符串
$font_size = 14; //字体大小
$arr = imagettfbbox($font_size,0,$font_file,$text); //确定会变化的字符串的位置
$text_width = $arr[2]-$arr[0]; //字符串文本框长度
$text_height = $arr[3]-$arr[5]; ////字符串文本框高度
$im = imagecreate($text_width,$text_height);
$white = imagecolorallocate($im,0xFF,0xFF,0xFF);
imagecolortransparent($im,$white); //imagecolortransparent() 设置具体某种颜色为透明色,若注释
$blue = imagecolorallocate($im,0,0,255);
$arr = imagettftext($im,$font_size,0,0,$text_height-5,$blue,$font_file,$text);
imageline($im,$arr[0],$arr[1],$arr[2],$arr[3],$blue);
//imagettftext($im,12,0,0,20,$black,"c:\windows\Fonts\simhei.ttf",$url);//字体设置windows的路径
header("Content-type:image/png");
imagepng($im);
imagedestroy($im);
文字水印:
<?php
$pic=imagecreate(250,30);
$black=imagecolorallocate($pic,0,0,0);
$white=imagecolorallocate($pic,255,255,255);
$font="C://WINDOWS//Fonts//simhei.ttf";
$str ='php'.iconv('gb2312','utf-8','面对对象')." ovliverlin.cnblogs.com";
imagettftext($pic,10,0,10,20,$white,$font,$str);
header("Content-type: image/jpeg");
$filename='../src/images/photo.jpg';
$im=imagecreatefromjpeg($filename);
imagecopymerge($im,$pic,0,0,0,0,250,30,50);
imagejpeg($im);
?>
php生成文字图片效果的更多相关文章
- C#一些常用的图片操作方法:生成文字图片 合并图片等
生成文字图片: /// <summary> /// 生成文字图片 /// </summary> /// <param name="text">& ...
- PHP 生成水印图片
这段时间因工作需要,学习了下用PHP来给背景图上添加公司logo,宣传语之类的图片合并功能.话不多说,直接上代码. <?php public function getImage() { $dat ...
- php生成文字水印和图片水印
生成文字水印 //文字水印 /*打开图片*/ //1.配置图片路径 $src = "4.jpg"; //2.获取图片的信息(得到图片的基本信息) $info = getimag ...
- java生成竖排文字图片
package com.kadang.designer.web.action;import java.awt.Color;import java.awt.Font;import java.awt.Fo ...
- jquery 单行滚动、批量多行滚动、文字图片翻屏滚动效果代码
jquery单行滚动.批量多行滚动.文字图片翻屏滚动效果代码,需要的朋友可以参考下. 以下代码,运行后,需要刷新下,才能加载jquery,要不然看不到效果.一.单行滚动效果 <!DOCTYPE ...
- Java在已存在的pdf文件中生成文字和图片--基础
自我总结,有什么不足之处请告知,感激不尽!下一次总结pdf模板映射生成报表(应对多变的pdf报表需求,数据提供和报表生成解耦). 目的:在给定的pdf模板上生成报表,就需要知道最基本的操作:文字添加, ...
- PHP生成小程序二维码合成图片生成文字
这部分代码是写在项目上的代码,THINKPHP3.1如果迁移到其他的地方应该要稍稍改动一下以适合自己的项目 function get_bbox($text,$fsize,$ffile){ return ...
- 使用pillow生成分享图片
重复性的工作一定要交给计算机去做! 有时候要为公司做一张宣传用的分享图片,很简单交给设计通过ps.AI做好就行了,但是如果一个网站要为每个用户生成一张专属的分享图片,如果让设计师一张一张的去做,哪设计 ...
- 使用Three.js实现神奇的3D文字悬浮效果
声明:本文涉及图文和模型素材仅用于个人学习.研究和欣赏,请勿二次修改.非法传播.转载.出版.商用.及进行其他获利行为. 背景 在 Three.js Journey 课程示例中,提供了一个使用 Thre ...
随机推荐
- HttpClient-RestTemplate-Feign
如何通过Java发送HTTP请求,通俗点讲,如何通过Java(模拟浏览器)发送HTTP请求. Java有原生的API可用于发送HTTP请求,即java.net.URL.java.net.URLConn ...
- Linux学习笔记之Linux最小化安装启动后如何配置
在VM虚拟机中安装CentOS 7 时 有时候顾虑到电脑硬件性能,我们需要最小化安装,而最小化安装后与centos6的版本是有一些差异的,接下来我们就对刚安装好的最小化centos7做一些操作,来世我 ...
- Migrating from Spring 3 to Spring 4 - org.springframework.scheduling.quartz.CronTriggerBean
I'm trying to migrate from spring 3.0.5 to spring 4.1.X . Spring 3 has Class named as "org.spri ...
- Rsync+sersync实现实时同步
介绍: sersync主要用于服务器同步,web镜像等功能.基于boost1.43.0,inotify api,rsync command.开发.目前使用的比较多的同步解决方案是inotify-too ...
- POJ 2195 Going Home(费用流)
http://poj.org/problem?id=2195 题意: 在一个网格地图上,有n个小人和n栋房子.在每个时间单位内,每个小人可以往水平方向或垂直方向上移动一步,走到相邻的方格中.对每个小人 ...
- Composite(组合)
意图: 将对象组合成树形结构以表示“部分-整体”的层次结构.C o m p o s i t e 使得用户对单个对象和组合对象的使用具有一致性. 适用性: 你想表示对象的部分-整体层次结构. 你希望用户 ...
- 优化 Redis 的使用策略
Redis Key 的命名策略 Redis 是 K-V 形式的缓存数据库,每一个需要缓存的 Object 都需要唯一的 Key 来标识.但是,我们日常在做开发的时候,经常会出现一个公司或者部门之间共用 ...
- 最好的移动触摸滑动插件:Swiper
最近在使用的一个移动触摸滑动插件Swiper,功能很强大,跟之前的那个swipe.JS相比,同时支持在PC端滑动,支持上下方向滑动,支持多张图片滑动,支持多屏滑动,凡是你想得到的几乎都可以实现.最近作 ...
- js获取当前日期(年月日格式)
function getNowFormatDate() { var date = new Date(); var seperator1 = "-"; var year = date ...
- VS2019/VS2017安装源离线下载,更新,清理,企业版与论坛版重复下载
VS2019 安装器下载 https://www.visualstudio.com/thank-you-downloading-visual-studio/?sku=Community&rel ...