说说PHP作图(四)
时间:2008-04-17 来源:剑心通明
到前面为止,我们已经能够用GD完成作图基本的需要了。但有的时候恐怕就要嫌ImageString
能用的五种字体少而且难看,那就要用到下面的函数了。这个函数允许我们使用TTF字体;但你
必须拥有这些字体的文件。
类似于ImageFontWidth()和ImageFontHeight()帮助我们计算ImageString输出字串将要占用的
高度和宽度,ImageTTFBBox可以帮助我们计算ImageTTFText输出字符串的情况。它的返回值是一个
8成员的数组,分别是(注意这个顺序)左下、右下、右上、左上 的横纵坐标。试一下:
结果是这样的:
(15,-1)
(306,-1)
(306,-117)
(15,-117)
为什么出现负数?我也不知道。这些坐标是相对于什么的?无论它是相对于什么,他们之间的
相对位置是不会改变的。所以,这些都不太重要,我们根据左、右边的横坐标的差和上、下边纵坐标
的差,就足够计算出应该把左下点安排在什么位置了。
好了,讲完了利用TTF字体输出字符串,也顺便解决了前面“要想写汉字还得费一些麻烦”的
遗留话柄。以我来看,GD还剩下最后一部分内容——打开现有图片、处理、重新输出。
首先,取得图片的信息,是基本的需要。看下面的例子:
另外,还有一个不属于GD库的获取图象信息的函数:GetImageSize。
结果是这样的:
50
100
3
width="50" height="100"
可见,该函数返回了一个关于该图片信息的数组,四个元素分别为:前两个是图象的宽、高;
第三个代表图象的格式:1 = GIF, 2 = JPG, 3 = PNG, 4 = SWF, 5 = PSD, 6 = BMP。最后一个
元素是用在
[url=javascript:;]HTML[/url]
里的表示该图象宽、高的字串(真是太方便了!)。比如我们可以这样用:
" >
.....
再重复一遍,这个函数不属于GD库,所以,在没有装GD库的
[url=javascript:;]PHP[/url]
环境中也可以使用!!
缩略图是经常需要的功能。使用GD的“拷贝并调整大小”的函数可以很容易实现缩略图。
好了,说到这里,我的在做GD过程中的心得就全部说完了。感谢大家的关注!让我们共同进步!
相关阅读 更多 +