用PHP自带的GD库画的图,打印的时候锯齿太多,DPI(每个英寸上,所能印刷的网点数)太少,导致打印出来的图片不清晰,请问如何解决?谢谢!!!

解决方案 »

  1.   

    $im = imagecreate (200,100);
    $image = imagecreate (2000,1000);中间是生成$image的过程 省略imagecopyresampled($image,$im,0,0,0,0,200,100,2000,1000);//把2000*1000复制到200*100中,来提高分辨率
    header('Content-type: image/png');
    imagepng($im); 
    imagedestroy($im);
      

  2.   

    谢谢大家的回答,我用这种办法试验了一下,结果出来的图形显示在网页上是不清楚的,线是断断续续的,请问这是怎么回事啊,以下是我的代码:<?php
    $im = imagecreate(200,200); 
    $image = imagecreate(1000,1000); $black = ImageColorAllocate($image, 0, 0, 0);
    $white = ImageColorAllocate($image, 255, 255, 255);
    ImageFilledRectangle($image, 0, 0, 1000, 1000, $white);
    ImageArc($image, 500, 500, 800, 800, 0, 360, $black);imagecopyresampled($im,$image,0,0,0,0,200,200,1000,1000); 
    header('Content-type: image/png'); 
    imagepng($im);  ?>
      

  3.   

    看看这个效果,如果你觉得分辨率还低,就调整$im 和 $image 的比例
    <?php 
    $im = imagecreate(200,200);  
    $image = imagecreate(1000,1000);  $black = ImageColorAllocate($image, 0, 0, 0); 
    $white = ImageColorAllocate($image, 255, 255, 255); 
    ImageFilledRectangle($image, 0, 0, 1000, 1000, $white); 
    //ImageArc($image, 500, 500, 800, 800, 0, 360, $black); 
    imagefilledarc($image, 500, 500, 800, 800, 0, 360, $black,IMG_ARC_PIE);
    imagefilledarc($image, 500, 500, 780, 780, 0, 360, $white,IMG_ARC_PIE);
    imagecopyresampled($im,$image,0,0,0,0,200,200,1000,1000);  
    header('Content-type: image/png');  
    imagepng($im);   ?>
      

  4.   

    好久没有gd库了,一直在用image-magick
      

  5.   

    谢谢大家!用fcoolx的程序可以看清楚,但是我的程序图比较复杂,很多圆或者线还有文字,这样做要改很多。而且文字也有锯齿。ChartDirector画的图很好,不过不知道对中文支持怎么样。还有什么办法吗