200x300的图片,里面就放了个HelloWorld字样,输出的图片居然有50K:(  偶要的又不是位图,尼玛这个函数不会帮偶压缩下么,火大鸟:(
敢输出小点的文件么:(求输出小文件的方法:)

解决方案 »

  1.   

            $targ_w = $targ_h = 150;
    $jpeg_quality = 90;
    $src = "../..".$_POST['p'];//这儿需要一个图片路径
    $img_r = imagecreatefromjpeg($src);//我这是捷图了
    $dst_r = ImageCreateTrueColor( $targ_w, $targ_h );//生成底图
    imagecopyresampled($dst_r,$img_r,0,0,$_POST['x'],$_POST['y'],
    $targ_w,$targ_h,$_POST['w'],$_POST['h']);
    $myName1 = "header1.jpg";//以这名输出
    imagejpeg($dst_r,$myName1,$jpeg_quality);//这就是jpeg格式的了
    ImageDestroy($dst_r);
      

  2.   

    这么复杂啊?
    imageCreate生成的是位图么?
      

  3.   


    header("Content-Type: image/png");
    $data="HELLO";
    $im = @imagecreate(100, 20)
        or die("Cannot Initialize new GD image stream");
    $background_color = imagecolorallocate($im, 0, 0, 0);
    $text_color = imagecolorallocate($im, 233, 14, 91);
    imagestring($im, 1, 5, 5,  $data, $text_color);
    imagepng($im);
    imagedestroy($im);
    这个最简单的就一个hello
    不是位图
      

  4.   

    可以用imageTtfText往jpg里写字么?
      

  5.   

    imagecreate创建的只是一个图像资源...就是图像在内存中的实际表示,的确是位图形式而我们平时看到的jpeg,png都是压缩后的图像文件, 在你用程序读取一个图像文件(jpeg/png)的时候, 它还是要被解压缩成位图形式到内存. 所以,问题不在imagecreate, 
    而在于你用什么压缩方式保存它.....如imagepng, imagejpeg 这些.....
      

  6.   

    生成png或者jpg之后,网络带宽占用会少点?