CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Web 开发 >  PHP

PHP用GD画图的怪问题。

楼主nbabn(nbabn)2004-08-03 20:33:43 在 Web 开发 / PHP 提问

Apache2.0.47(win32)+PHP5.0  
  代码如下:  
  PHP代码  
  d.php  
  <?php  
  class   Pic  
  {  
  var   $iamge;  
   
  function   Pic()  
  {  
  header   ("Content-type:   image/png");  
  $this->image   =   imagecreatetruecolor(200,500);  
  $bgcolor   =   imagecolorallocate($this->image,255,255,255);  
  imagefill($this->image,0,0,$bgcolor);  
  imagettftext($this->image,18,0,12,18,0,"simsun.ttc",$_POST["T1"]);  
  imagepng($this->image);  
  }  
   
  }  
  $tmp   =   new   Pic();  
  ?>  
  HTML文件s.html  
  <html>  
  <head>  
  <title>输入</title>  
  </head>  
  <body>  
  <form   method="POST"   action="d.php">  
  输入   <input   type="text"   name="T1"   size="20"><br>  
  <input   type="submit"   value="提交"   name="B1">  
  <input   type="reset"   value="全部重写"   name="B2">  
  </form>  
  </body>  
  </html>  
  从s.html提交过去的字符能画出来,浏览正常,但是在用IE打印预览的时候怪事来了,一片空白,为什么浏览能看见字符,打印预览就看不见了? 问题点数:100、回复次数:9Top

1 楼xuzuning(唠叨)回复于 2004-08-04 09:29:16 得分 0

没有发现你说的现象Top

2 楼nbabn(nbabn)回复于 2004-08-04 10:21:47 得分 0

不会吧,我在不同的电脑上试了的。WIN2000+IE6,XP+IE6都试过。浏览正常,但是在IE的打印预览里看不见。Top

3 楼Mistruster(弱智d)回复于 2004-08-04 10:55:07 得分 5

_POST变量换成一个常量试试Top

4 楼xuzuning(唠叨)回复于 2004-08-04 11:16:30 得分 0

这里无法贴图片,不然贴个截图给你看!  
  确实打印预览正常(ie5.5)  
  Top

5 楼nbabn(nbabn)回复于 2004-08-04 15:32:06 得分 0

IE5我没有试过,IE的不同版本会有不同的表现?  
  另外:_POST变量换成一个常量试试  
  如果不是接受一个$_POST变量,其他的变量在打印预览里又正常了,$_GET变量显示的也正常,真是怪事。Top

6 楼fzjw(冰凌尘埃)回复于 2004-08-04 16:03:46 得分 10

我在Windows   Server   2003用IE6测试,除了中文不能正常显示,其他显示正常,但是打印预览没有任何内容,把$_POST换成常量,还是不能在打印预览中看到。  
   
  我自己的一个验证码图片页面,在打印预览时正常显示,估计就是代码的问题,和IE版本没有关系Top

7 楼nbabn(nbabn)回复于 2004-08-04 17:10:54 得分 0

是呀,问题大概是如果产生图形的PHP文件不接受$_POST变量或接受而不使用$_POST变量,那么打印预览就没问题了。如果使用到了$_POST变量并且输出到图形上,打印预览就看不见了,所以fzjw(清风)   说的那个验证码图片打印预览时显示正常,我估计是由随机数来产生再输出的,没有用到$_POST变量,或都没有直接使用$_POST变量,所以打印预览显示正常。  
  真是怪问题呀,哪位高人有好办法能解决此问题。Top

8 楼xuzuning(唠叨)回复于 2004-08-04 17:46:38 得分 85

呵呵!是我疏忽了。  
  我测试时对$_POST["T1"]赋值了  
   
  问题是这样的:  
  浏览器的打印预览(包括打印)会按浏览器的地址栏地址重新访问服务器,而不是从缓冲区中打印。  
  当再次访问这个url时,注意,这不是提交所以没有了$_POST["T1"],因此只能看到空白的图片了。你设置的图片背景是白色  
   
  Top

9 楼nbabn(nbabn)回复于 2004-08-04 20:31:47 得分 0

哦,原来如此,谢谢xuzuning(唠叨)兄高见。  
   
  向各位回复的高人致敬。Top

相关问题

  • java画图怪事!!
  • java画图怪事之二!!!!
  • php画图:使用JPGRAPH的问题
  • 关于gd画图的问题--急(在线等)
  • 画图!!
  • 画图
  • 画图
  • 画图
  • 画图
  • 请问:关于php画图函数支持中文的问题!?

关键词

得分解答快速导航

  • 帖主:nbabn
  • Mistruster
  • fzjw
  • xuzuning

相关链接

  • Web开发类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo