今天仔细研究了下GD的一些相关技术,顺手也研究下GD中文乱码的问题。
使用GD库输出中文字符串,调用imagestring是没有用的。需要使用imagettftext()函数。imagettftext函数的具体使用就参考手册啦。
下面给个使用实例:
<span style="COLOR: #000000"><br>$pic=imagecreate(250,30); <br>$black=imagecolorallocate($pic,0,0,0); <br>$white=imagecolorallocate($pic,255,255,255); <br>$font="C://WINDOWS//Fonts//simhei.ttf"; //这里的路进需要注意下,必须是字符的路径 <br>$str ='php'.iconv('gb2312','utf-8','面对对象')." www.phpobject.net"; <br>imagettftext($pic,10,0,10,20,$white,$font,$str); <br> </span>
前面我给出一个简单的GD水印实例,只举例说明了使用图片如何水印的,这里给出一个文字水印的简单代码。
<span style="COLOR: #000000"><br><span style="COLOR: #0000bb"><?php <BR>$pic</span><span style="COLOR: #007700">=</span><span style="COLOR: #0000bb">imagecreate</span><span style="COLOR: #007700">(</span><span style="COLOR: #0000bb">250</span><span style="COLOR: #007700">,</span><span style="COLOR: #0000bb">30</span><span style="COLOR: #007700">); <br></span><span style="COLOR: #0000bb">$black</span><span style="COLOR: #007700">=</span><span style="COLOR: #0000bb">imagecolorallocate</span><span style="COLOR: #007700">(</span><span style="COLOR: #0000bb">$pic</span><span style="COLOR: #007700">,</span><span style="COLOR: #0000bb">0</span><span style="COLOR: #007700">,</span><span style="COLOR: #0000bb">0</span><span style="COLOR: #007700">,</span><span style="COLOR: #0000bb">0</span><span style="COLOR: #007700">); <br></span><span style="COLOR: #0000bb">$white</span><span style="COLOR: #007700">=</span><span style="COLOR: #0000bb">imagecolorallocate</span><span style="COLOR: #007700">(</span><span style="COLOR: #0000bb">$pic</span><span style="COLOR: #007700">,</span><span style="COLOR: #0000bb">255</span><span style="COLOR: #007700">,</span><span style="COLOR: #0000bb">255</span><span style="COLOR: #007700">,</span><span style="COLOR: #0000bb">255</span><span style="COLOR: #007700">); <br></span><span style="COLOR: #0000bb">$font</span><span style="COLOR: #007700">=</span><span style="COLOR: #dd0000">"C://WINDOWS//Fonts//simhei.ttf"</span><span style="COLOR: #007700">; <br></span><span style="COLOR: #0000bb">$str </span><span style="COLOR: #007700">=</span><span style="COLOR: #dd0000">'php'</span><span style="COLOR: #007700">.</span><span style="COLOR: #0000bb">iconv</span><span style="COLOR: #007700">(</span><span style="COLOR: #dd0000">'gb2312'</span><span style="COLOR: #007700">,</span><span style="COLOR: #dd0000">'utf-8'</span><span style="COLOR: #007700">,</span><span style="COLOR: #dd0000">'面对对象'</span><span style="COLOR: #007700">).</span><span style="COLOR: #dd0000">" www.phpobject.net"</span><span style="COLOR: #007700">; <br></span><span style="COLOR: #0000bb">imagettftext</span><span style="COLOR: #007700">(</span><span style="COLOR: #0000bb">$pic</span><span style="COLOR: #007700">,</span><span style="COLOR: #0000bb">10</span><span style="COLOR: #007700">,</span><span style="COLOR: #0000bb">0</span><span style="COLOR: #007700">,</span><span style="COLOR: #0000bb">10</span><span style="COLOR: #007700">,</span><span style="COLOR: #0000bb">20</span><span style="COLOR: #007700">,</span><span style="COLOR: #0000bb">$white</span><span style="COLOR: #007700">,</span><span style="COLOR: #0000bb">$font</span><span style="COLOR: #007700">,</span><span style="COLOR: #0000bb">$str</span><span style="COLOR: #007700">); <br><br></span><span style="COLOR: #0000bb">header</span><span style="COLOR: #007700">(</span><span style="COLOR: #dd0000">"Content-type: image/jpeg"</span><span style="COLOR: #007700">); <br></span><span style="COLOR: #0000bb">$filename</span><span style="COLOR: #007700">=</span><span style="COLOR: #dd0000">'../src/images/photo.jpg'</span><span style="COLOR: #007700">; <br></span><span style="COLOR: #0000bb">$im</span><span style="COLOR: #007700">=</span><span style="COLOR: #0000bb">imagecreatefromjpeg</span><span style="COLOR: #007700">(</span><span style="COLOR: #0000bb">$filename</span><span style="COLOR: #007700">); <br></span><span style="COLOR: #0000bb">imagecopymerge</span><span style="COLOR: #007700">(</span><span style="COLOR: #0000bb">$im</span><span style="COLOR: #007700">,</span><span style="COLOR: #0000bb">$pic</span><span style="COLOR: #007700">,</span><span style="COLOR: #0000bb">0</span><span style="COLOR: #007700">,</span><span style="COLOR: #0000bb">0</span><span style="COLOR: #007700">,</span><span style="COLOR: #0000bb">0</span><span style="COLOR: #007700">,</span><span style="COLOR: #0000bb">0</span><span style="COLOR: #007700">,</span><span style="COLOR: #0000bb">250</span><span style="COLOR: #007700">,</span><span style="COLOR: #0000bb">30</span><span style="COLOR: #007700">,</span><span style="COLOR: #0000bb">50</span><span style="COLOR: #007700">); <br></span><span style="COLOR: #0000bb">imagejpeg</span><span style="COLOR: #007700">(</span><span style="COLOR: #0000bb">$im</span><span style="COLOR: #007700">); <br></span><span style="COLOR: #0000bb">?></span> <br> </span>

Golang(Go编程语言)是一种基于C语言的编程语言,被广泛用于Web开发、网络编程、操作系统等领域。然而,在编写Golang程序时经常会遇到一个常见的问题,就是“undeclaredname”(未声明名称)错误。下面将介绍如何解决这个问题。了解错误信息在编译和运行Golang程序时,如果遇到了未声明名称错误,会在控制台输出相应的错误信

Java中的ClassNotFoundException是一种常见的编译错误。当我们尝试使用Java虚拟机(JVM)加载某个类时,如果JVM找不到该类,就会抛出ClassNotFoundException。这个错误可能出现在程序运行时,也可能出现在编译时。在本文中,我们将讨论什么是ClassNotFoundException,它为什么会发生以及如何解决它。C

Go语言是一门越来越受欢迎的编程语言,它的简洁、高效、易于编写的特点已经被越来越多的开发者所认可。而在Go语言开发中,遇到编译错误是不可避免的。其中一个常见的错误就是“undefined:json.Marshal”。这个错误通常发生在你使用了Go标准库的“encoding/json”包时,编译器提示找不到“json.Marshal”的定义。这个问题的根本原

随着Java的广泛应用,Java程序在连接数据库时经常会出现JDBC错误。JDBC(JavaDatabaseConnectivity)是Java中用于连接数据库的编程接口,因此,JDBC错误是在Java程序与数据库交互时遇到的一种错误。下面将介绍一些最常见的JDBC错误及如何解决和避免它们。ClassNotFoundException这是最常见的JDBC

在golang中,函数在定义时需要明确返回值类型和返回值,但有时候会出现“missingreturn…”的错误,表示函数缺少返回语句。本文将介绍如何解决这个问题。确认函数签名如果在定义函数时声明了返回值类型,但没有返回具体的值,就会触发这个错误。因此,你可以先检查函数签名,确认声明了返回值类型。举个例子:funcadd(a,bint)int{

Go语言作为一门快速发展的编程语言,被广泛应用于各种项目和领域。然而,在使用golang编写程序时,你有可能会遇到一些报错,其中一个常见的报错是“undefinedvariableorfunction”。那么,这个错误是什么意思?它是如何产生的?又该如何解决呢?本文将会对这些问题进行探讨。首先,我们需要了解一些基本概念。在golang中,变量和函数是两

Java作为目前最受欢迎的编程语言之一,在开发过程中常常会遇到各种各样的错误,其中Gradle错误是比较常见的一种。本文将介绍如何解决和避免Gradle错误。一、Gradle错误的原因Gradle为构建工具,其主要作用是将代码、资源文件、第三方库等打包并生成可执行的应用程序。在实际开发中,如果不注意一些细节,很容易出现Gradle错误,主要原因通常有以下几种

在Vue应用中遇到“SyntaxError:Unexpectedtoken”怎么解决?Vue是前端开发中广泛使用的一个JavaScript框架,它可以让我们更轻松地管理页面的状态、渲染和交互。但是在编写Vue应用时,有时会遇到“SyntaxError:Unexpectedtoken”报错,这个错误提示意味着代码中存在语法错误,JavaScript引擎


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

MinGW - 适用于 Windows 的极简 GNU
这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。

SublimeText3 英文版
推荐:为Win版本,支持代码提示!

EditPlus 中文破解版
体积小,语法高亮,不支持代码提示功能

VSCode Windows 64位 下载
微软推出的免费、功能强大的一款IDE编辑器

ZendStudio 13.5.1 Mac
功能强大的PHP集成开发环境