本帖最后由 whjsonline 于 2011-12-29 10:00:01 编辑

解决方案 »

  1.   

     Header ('Content-type: image/png'); 这表示页面的格式,比如创建验证码的时候,php页面就是一个图片,而这个就是通过头文件这样写而形成的,你这里不需要,就不要这句,表单提交后,直接用imagecreatetruecolor 一步一步写个略缩图出来,就是!
      

  2.   

    以下代码解决了部分问题,但还不够完善。我需要在同一个页面中同时显示图片和表单,在表单里输入文字,提交后可以显示到图片上。你这段代码只能显示表单,或表单提交后只能显示图片。求高人帮我改改代码,或告诉我思路也行,谢谢!
    <?php
      if(isset($_GET['str']) and $_GET['str']!=""){
      $im = imagecreatefromjpeg('gd.jpg');
      $font_size = 24;
      $fontname = 'C:\WINDOWS\Fonts\simkai.ttf';
      $black = imagecolorallocate($im,0,0,0);
      $str = $_GET['str'];
      imagettftext($im,$font_size,0,130,130,$black,$fontname,$str);
      header('Content-type: image/jpeg');
      imagejpeg($im);
      imagedestroy($im);
      }
    ?>
    <html>
    <head>
    <title>PHP给图片添加文字水印</title>
    <meta content="text/html" http-equiv="content-type" charset="utf-8" />
    </head>
    <body>
    <p><form action="?" method="get">
      <input name="str" maxlength="8" size="16" />
      <input type="submit" value="输入姓名" />
    </form></p>
    </body>
    </html>
      

  3.   

    改变方式。把生成的缩略图放到<img src=="">中去。 
    现在这种方式你header('Content-type: image/jpeg');把页面设成图片输出了。