这是老的问题,我搜出来的,正好要做这个,可惜没有理想答案。有如下函数PHP code    function createPNG()
    { 
        header('Content-type:image/png'); 
        $im = imageCreate(40,20); 
         imageColorAllocate($im,0,0,0); 
         $col_white = imageColorAllocate($im,255,255,255); 
        imageString($im,5,2,2,'1234',$col_white); 
         imagePNG($im); 
         imageDestroy($im); 
      }正规的方法是直接把代码放到X.PHP中,然后把IMG标签的SRC属性直接设置为X.PHP.但是现在这些代码我是封装到一个类里的。假设是类Abc.有实例$abc使用的时候可以用$abc->createPNG直接输出图像但是不知道怎么将这个图像输出到HTML页面中望高手指教 

解决方案 »

  1.   

    你的类有问题。
    最终输出,其实应该是一样的。
    生成的图片,只能当图片用,也就是在src后面附上生成脚本的文件名。
      

  2.   

    还是没明白。举个例子:<?
    Class ddd
    {
        var $img = "";    function ddd()
        {
            $im = ImageCreate (200, 100);
            $this->img = $im;
            $col_black = ImageColorAllocate($im, 0,0,0);
            $col_orn = ImageColorAllocate($im, 255,192,0);
            // 今天用橘色吧。
            // 跟 imageline 函数完全相同的用法,
            ImageDashedLine($im,0,100,199,100,$col_orn);
            // 这样就画了一条虚线。        // 下面我们来做个试验。用以说明一个问题。
            $col_yel = ImageColorAllocate($im, 255,255,0);
            // 黄色。
            ImageLine($im,0,99,199,99,$col_yel);
            // 在图象的最下沿画了一条黄色的线。
            ImageLine($im,200,0,200,100,$col_orn);
        }    function echoimg()
        {
            Header("Content-type: image/png");
            ImagePNG($this->img);
            ImageDestroy($this->img);
        }
    }  
     //  $sss = new ddd();
     //   $sss->echoimg();
    ?>
    这个 ddd 的类,我怎么嵌入 HTML 语句中?<html>
        <head>
            <title> First Page</title>
        </head>
        <body>
                 这里怎么填?谢谢了!
        </body>
    </html>
      

  3.   

    ....
        function echoimg() 
        { 
            Header("Content-type: image/png"); 
            ImagePNG($this->img); 
            ImageDestroy($this->img); 
        } 
    }   
    $sss = new ddd(); 
    $sss->echoimg(); 
    ?> ....
        <body> 
                <img src=xxx.php> 这里这么填 
        </body>