请教下php图象处理函数 imagestring 函数的运用,具体情况如下

这个函数的基本用法是
int imagestring ( resource image, int font, int x, int y, string s, int col)
中的font的内置值有1,2,3,4,5,的字体号,可是这些我字体号不是我想要的那种,比如我想的是宋体,那这个要怎么弄,我看过手册说可以用imageloadfont -- 载入一新字体 可是这个怎么用我不清楚,麻烦各位大哥,大姐帮下,我先在这里谢谢了
再有就是能不能举个例子啊

茅侃侃
浏览 203回答 1
1回答

长风秋雁

可以用imagettftext来生成,支持truetype字体array imagettftext ( resource image, float size, float angle, int x, int y, int color, string fontfile, string text )image图像资源。见 imagecreatetruecolor()。size字体大小。根据 GD 版本不同,应该以像素大小指定(GD1)或点大小(GD2)。angle角度制表示的角度,0 度为从左向右读的文本。更高数值表示逆时针旋转。例如 90 度表示从下向上读的文本。x由 x,y 所表示的坐标定义了第一个字符的基本点(大概是字符的左下角)。这和 imagestring() 不同,其 x,y 定义了第一个字符的左上角。例如 "top left" 为 0, 0。yY 坐标。它设定了字体基线的位置,不是字符的最底端。color颜色索引。使用负的颜色索引值具有关闭防锯齿的效果。见 imagecolorallocate()。fontfile是想要使用的 TrueType 字体的路径。根据 PHP 所使用的 GD 库的不同,当 fontfile 没有以 / 开头时则 .ttf 将被加到文件名之后并且会在库定义字体路径中尝试搜索该文件名。当使用的 GD 库版本低于 2.0.18 时,一个空格字符 而不是分号将被用来作为不同字体文件的“路径分隔符”。不小心使用了此特性将会导致一条警告信息:Warning: Could not find/open font。对受影响的版本来说唯一解决方案就是将字体移动到不包含空格的路径中去。很多情况下字体都放在脚本的同一个目录下。下面的小技巧可以减轻包含的问题。 <?php// Set the enviroment variable for GDputenv('GDFONTPATH=' . realpath('.'));// Name the font to be used (note the lack of the .ttf extension)$font = 'SomeFont';?>text文本字符串。可以包含十进制数字化字符表示(形式为:€)来访问字体中超过位置 127 的字符。UTF-8 编码的字符串可以直接传递。如果字符串中使用的某个字符不被字体支持,一个空心矩形将替换该字符。imagettftext() 返回一个含有 8 个单元的数组表示了文本外框的四个角,顺序为坐下角,右下角,右上角,左上角。这些点是相对于文本的而和角度无关,因此“左上角”指的是以水平方向看文字时其左上角。例子 1. imagettftext() 例子本例中的脚本将生成一个白色的 400x30 像素 PNG 图像,其中有黑色(带灰色阴影)Arial 字体写的“Testing...”。<?php// Set the content-typeheader("Content-type: image/png");// Create the image$im = imagecreatetruecolor(400, 30);// Create some colors$white = imagecolorallocate($im, 255, 255, 255);$grey = imagecolorallocate($im, 128, 128, 128);$black = imagecolorallocate($im, 0, 0, 0);imagefilledrectangle($im, 0, 0, 399, 29, $white);// The text to draw$text = 'Testing...';// Replace path by your own font path$font = 'arial.ttf';// Add some shadow to the textimagettftext($im, 20, 0, 11, 21, $grey, $font, $text);// Add the textimagettftext($im, 20, 0, 10, 20, $black, $font, $text);// Using imagepng() results in clearer text compared with imagejpeg()imagepng($im);imagedestroy($im);?>
打开App,查看更多内容
随时随地看视频慕课网APP