php绘图之在图片上写中文和英文的方法

本文实例讲述了php绘图之在图片上写中文和英文的方法。分享给大家供大家参考。具体如下:

第一种方法,只能写英文,中文会出现乱码

代码如下:

<?php
//1、创建画布
$im = imagecreatetruecolor(300,200);//新建一个真彩色图像,默认背景是黑色,返回图像标识符。另外还有一个函数 imagecreate 已经不推荐使用。
$red = imagecolorallocate($im,255,0,0);
//2、写字
$str = "hello,world";
imagestring($im,5,30,60,$str,$red);//参数说明:5-指文字的大小。函数 imagestring 不能写中文
//3、输出图像
header("content-type: image/png");
imagepng($im);//输出到页面。如果有第二个参数[,$filename],则表示保存图像
//4、销毁图像,释放内存
imagedestroy($im);
?>

第二种方法:写中文

代码如下:

<?php
//1、创建画布
$im = imagecreatetruecolor(300,200);//新建一个真彩色图像,默认背景是黑色,返回图像标识符。另外还有一个函数 imagecreate 已经不推荐使用。
$red = imagecolorallocate($im,255,0,0);
//2、写字
$str = iconv("gb2312","utf-8","北京,你早!hello,world");//文件格式为gbk,而这里转为uft-8格式,才能正常输出,否则也为乱码。表示不明
imagettftext($im,12,rand(0,20),20,100,$red,"simhei.ttf",$str);
//3、输出图像
header("content-type: image/png");
imagepng($im);//输出到页面。如果有第二个参数[,$filename],则表示保存图像
//4、销毁图像,释放内存
imagedestroy($im);
?>

imagettftext() 函数远强于imagestring() 函数,表现在这几个方面:

(1)imagettftext() 可以输出中文和英文,可以指定字体;imagestring() 只能输出英文,只能使用默认字体。
(2)imagettftext() 字体大小可以无限大;imagestring() 字体只有1~5号大小。
(3)imagettftext() 输出的字体可以变换角度;imagestring() 只能水平输出。

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

(0)

相关推荐

  • php判断输入是否是纯数字,英文,汉字的方法

    本文实例讲述了php判断输入是否是纯数字,英文,汉字的方法.分享给大家供大家参考.具体分析如下: 这里利用php的mb_strlen和strlen函数就可以轻松得知字符串的构成是全英文.英汉混合.还是纯汉字.简要说明如下: 1.如果strlen返回的字符长度和mb_strlen以当前编码计算的长度一 致,可以判断是纯英文字符串. 2.如果strlen返回的字符长度和mb_strlen以当前编码计算的长度不一致, 且strlen返回值同mb_strlen的返回值求余后得0可以判断为是全汉字的字符串

  • 用PHP提取中英文词语以及数字的首字母的方法介绍

    最近项目有个需求,在一个中英文(包括阿拉伯数字0-9)的海量词库中,提取每一个词语的首字母: gannicus-->G 自由自在-->Z 2B-->E 傻X-->S 复制代码 代码如下: private function getfirstchar($s0){        $s=iconv('UTF-8','gb2312', $s0);        if (ord($s0)>128) { //汉字开头            $asc=ord($s{0})*256+ord($

  • PHP实现获取中英文首字母

    PHP实现获取中英文按照首字母 /** * */ function getfirstchar($s0){ if($s0[0]=='I' || $s[0]=='i'){ return "I"; }elseif($s0[0]=='U' || $s[0]=='u'){ return 'U'; }elseif($s0[0]=='V' || $s[0]=='v'){ return 'V'; }else{ $fchar = ord($s0{0}); if($fchar >= ord(&quo

  • php+xml实现在线英文词典查询的方法

    本文实例讲述了php+xml实现在线英文词典查询的方法.分享给大家供大家参考.具体如下: 这里的xml相当于一个数据库.实现:查询某个英文单词,输出它的中文意思. xml文件(数据库):words.xml如下: 复制代码 代码如下: <?xml version="1.0" encoding="utf-8"?> <words> <word>  <en>boy</en>  <ch>男孩</ch

  • PHP英文字母大小写转换函数小结

    每个单词的首字母转换为大写:ucwords() 复制代码 代码如下: <?php$foo = 'hello world!';$foo = ucwords($foo);             // Hello World! $bar = 'HELLO WORLD!';$bar = ucwords($bar);             // HELLO WORLD!$bar = ucwords(strtolower($bar)); // Hello World!?> 第一个单词首字母变大写:uc

  • php获取英文姓名首字母的方法

    本文实例讲述了php获取英文姓名首字母的方法.分享给大家供大家参考.具体如下: 这段代码可以根据用户输入的英文姓名,分析出姓名的首字母输出,比如"Billy Bob" to "B.B." <?php function initials($name){ $nword = explode(" ",$name); foreach($nword as $letter){ $new_name .= $letter{0}.'.'; } return s

  • 利用PHP函数计算中英文字符串长度的方法

    本文实例讲述了利用PHP函数计算中英文字符串长度的方法.分享给大家供大家参考.具体实现方法如下: 一般来说大家知道英文字符占一个字节,而中文字符gbk占两个字符,utf8占三个字符,很多人印象中php计算字符串长度就是strlen()函数,其实不然,它计算的是字节的长度而非字符的长度,那么如何获取一个字符串中字符的长度呢?还有有mb_strlen(). 具体代码如下: 复制代码 代码如下: echo $str = 'PHP点点通'; echo strlen($str); //3*1+3*3=12

  • php绘图之在图片上写中文和英文的方法

    本文实例讲述了php绘图之在图片上写中文和英文的方法.分享给大家供大家参考.具体如下: 第一种方法,只能写英文,中文会出现乱码 复制代码 代码如下: <?php //1.创建画布 $im = imagecreatetruecolor(300,200);//新建一个真彩色图像,默认背景是黑色,返回图像标识符.另外还有一个函数 imagecreate 已经不推荐使用. $red = imagecolorallocate($im,255,0,0); //2.写字 $str = "hello,wo

  • 在LayUI图片上传中,解决由跨域问题引起的请求接口错误的方法

    在LayUI图片上传中,解决由跨域问题引起的请求接口错误的方法 在ssm框架整合中,使用layui作为前端页面,拖拽图片上传,填写接口后,后台能够成功接收到数据,但由于页面资源和后台访问地址的不一致(即使域名一致但端口不一致)引起跨域问题,导致接收资源后在前端无法接收到后台返回的数据. 前台页面: <html> <head> <meta charset="UTF-8"> <title>校园网络打印</title> <li

  • jquery实现图片上传之前预览的方法

    本文实例讲述了jquery实现图片上传之前预览的方法.分享给大家供大家参考.具体实现方法如下: <!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">

  • tp5使用layui实现多个图片上传(带附件选择)的方法实例

    tp5使用layui实现多个图片上传(带附件选择),如何加载layui在此不详细说明,有需要可以百度 html代码,主要处理都是在jq中,完成方法全部原创,也许不是最简单的,但也能实现效果 {include file="public/header" /} <body> <div class="x-nav"> <span class="layui-breadcrumb"> <a href="&qu

  • js实现鼠标悬停图片上时滚动文字说明的方法

    本文实例讲述了js实现鼠标悬停图片上时滚动文字说明的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: <html> <title>js实现鼠标悬停图片上时的滚动文字说明</title> <body> <SCRIPT LANGUAGE="JavaScript"> <!-- Begin function showtip2(current,e,text){   if (document.all&&a

  • C#实现图片上传与浏览切换的方法

    本文以一个完整实例讲述了C#实现图片上传与浏览切换的方法,对于进行C#程序设计来说具有一定的借鉴价值.分享给大家供大家参考. 具体实现代码如下: <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default3.aspx.cs" Inherits="Default3" %> <!DOCTYPE html PUBLIC "-//W3C//

  • vux uploader 图片上传组件的安装使用方法

    1.网址: https://github.com/greedying/vux-uploader 2.安装 npm install vux-uploader --save npm install --save-dev babel-preset-es2015 .babelrc { "presets": [ ["env", { "modules": false, "targets": { "browsers":

  • jQuery实现移动端图片上传预览组件的方法分析

    本文实例讲述了jQuery实现移动端图片上传预览组件的方法.分享给大家供大家参考,具体如下: 之前的一篇博客:移动端H5图片预览和压缩,实现了基本的功能.这次则计划做成一个组件,可供前台.后台使用. 首先,我们先来捋一捋想要实现的功能: 预览 删除 压缩 上传到服务器 基本机构 这样,我们的组件结构就有了: ;!function(window, $, undefined){ function Upload() { }; Upload.prototype.change = function() {

  • js图片上传中file、bolb、base64图片之间的相互转化

    JS上传图片 我们要清楚,图片的展示方式有三种:分别为file(文件流).bolb(本地流).base64(二进制流) file File 接口提供有关文件的信息,并允许网页中的 JavaScript 访问其内容. 通常情况下, File 对象是来自用户在一个 元素上选择文件后返回的 FileList 对象,也可以是来自由拖放操作生成的 DataTransfer 对象,或者来自 HTMLCanvasElement 上的 mozGetAsFile() API.在Gecko中,特权代码可以创建代表任

  • Android开发在轮播图片上加入点击事件的方法

    这是我加在里面的代码,用Switch(position) 来获取当前图片,在相应的图片上加入点击事件, case  0:, case 1: 时代码如下,当点击第一张图片时,想实现case 0里面的代码,但是直接直接报错,退出,当点击第二张实现case 1中的代码时却是没问题,我想知道到底哪里不对啊. 对了,这些代码是在Fragemnt内写的,点击图片时是要从一个Fragment转到一个Activity,求大神指教

随机推荐