ccat 发表于 2006-1-23 12:44:44

如何在win下使用php的gd库

做了一个图,原来用linux的,后来移植到windows下,发现没有gd库。
我直接下的php5的zip包,有php_gd2.dll。
是需要修改某个配置文件么?

涩兔子 发表于 2006-1-23 12:53:29

1.将PHP5的zip包解压缩到C:\php\下
1.把zip包里的php.ini-recommended拷贝到C:\WINDOWS下,并改名为php.ini
2.设置php.ini中的extension_dir = "C:\php\ext"
3.去掉extension=php_gd2.dll前的注释";"

ccat 发表于 2006-1-23 13:44:32

现在可以了,但是有新问题。我在一台主机上做的,本机图片显示正常。
但在同一局域网内,其他机器看起来还是有错。
我是这样调用字体的:

$stri=iconv("GB2312","UTF-8",$name1);
ImageTTFText ($im, 12, 0, 140, 30, $black, "d://www/font/simsun.ttc", $stri);

它的错误提示说这个路径没有文件。

涩兔子 发表于 2006-1-23 14:00:11

其他机器访问的时候d://www/font/simsun.ttc这种绝对路径就会有问题了

1.将simsun.ttc字体文件拷贝到你的web程序下,诸如/var/www/html/ccat/font/simsun.ttc

2.设置相对路径,取决于这个脚本和/font/simsun.ttc字体的相对位置
假设脚本gd.php在/var/www/html/ccat/gd.php就可以

ImageTTFText ($im, 12, 0, 140, 30, $black, "./font/simsun.ttc", $stri);

ccat 发表于 2006-1-23 15:03:00

明白,还有一个问题是,我写好的一个png图片,打印的时候没有动态部分。
代码如下:

$stri=iconv("GB2312","UTF-8","姓名:__________________");
ImageTTFText ($im, 12, 0, 80, 30, $black, "d://www/font/simsun.ttc", $stri);

$stri=iconv("GB2312","UTF-8",$name1);
ImageTTFText ($im, 12, 0, 140, 30, $black, "d://www/font/simsun.ttc", $stri);

在ie下,显示出:

“姓名:____123________”

用打印机打印,只能打印出
姓名:__________________

动态的“123”没有!划线语句也是这样的。不知道为什么
换成firefox却可以打印出来!

涩兔子 发表于 2006-1-23 16:24:52

很有可能$name1和"Name:_____________"重叠在一起了

<?php
// Set the content-type
header("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);

// Replace path by your own font path
$font = 'arial.ttf';

// Add some shadow to the text
$stri=iconv("GB2312", "UTF-8", "Name:_____________");
imagettftext($im, 20, 0, 11, 21, $grey, $font, $stri);

$name1 = "                " . "123" . "            ";
// Add the text
unset($stri);
$stri=iconv("GB2312", "UTF-8", $name1);
imagettftext($im, 20, 0, 11, 21, $grey, $font, $stri);

// Using imagepng() results in clearer text compared with imagejpeg()
imagepng($im);
imagedestroy($im);
?>

ccat 发表于 2006-1-23 18:23:51

不是这个问题,我用ie看到了。明明看到的东西,却打不出来,奇怪。

在firefox下,也可以看到,就能打印,但是保存的时候,保存的也只有。
"Name:_____________"也没有“123”

这个结构是这样的,用一个html文件来录入数据,然后用一个php来画出图形。
凡是从html得到的数据,都能用浏览器看到,都打印不出来。

涩兔子 发表于 2006-1-24 09:42:42

HTML仅仅是表现层呀,怪怪di

ccat你用我的代码试试看,看看能不能打印

jiangtao9999 发表于 2006-1-24 21:53:42

:?:
页: [1]
查看完整版本: 如何在win下使用php的gd库