QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 3751|回复: 8

如何在win下使用php的gd库

[复制链接]
发表于 2006-1-23 12:44:44 | 显示全部楼层 |阅读模式
做了一个图,原来用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前的注释";"
回复

使用道具 举报

 楼主| 发表于 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就可以
[code:1]
ImageTTFText ($im, 12, 0, 140, 30, $black, "./font/simsun.ttc", $stri);
[/code:1]
回复

使用道具 举报

 楼主| 发表于 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:_____________"重叠在一起了
[code:1]
<?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);
?>
[/code:1]
回复

使用道具 举报

 楼主| 发表于 2006-1-23 18:23:51 | 显示全部楼层
不是这个问题,我用ie看到了。明明看到的东西,却打不出来,奇怪。

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

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

使用道具 举报

发表于 2006-1-24 09:42:42 | 显示全部楼层
HTML仅仅是表现层呀,怪怪di

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

使用道具 举报

发表于 2006-1-24 21:53:42 | 显示全部楼层
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-4-20 05:41 , Processed in 0.130269 second(s), 15 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表