我自己是用gd得
如果要用gd,在windows下面只要在php.ini里面打开extension=php_gd2.dll,把前面得分号去了就可以了
在linux下面就编译得时候带gd来编译
查找一下“缩略图"就可以找到一些生成缩略图得代码了

解决方案 »

  1.   

    谢谢华帝
    extension=php_gd2.dll  在PHP.ini里我已经去掉了分号,phpinfo.php 还没有GD的信息,不知是为什么?缩略图只能调用GD来实现吗,各位有什么好方法?
      

  2.   

    重启了没?我估计只能通过gd吧。也许js也能实现?
      

  3.   

    PHP.INI里面还要设置DLL文件的路径不然GD也没有
      

  4.   

    PHP.INI里面还要设置DLL文件的路径,以及要用php_gd2.dll这个文件存在。
    最好放在系统目录下面。
      

  5.   

    PHP.INI里面还要设置DLL文件的路径DLL文件的路径就是你系统中PHP的安装目录下的extensions文件夹。在PHP.INI文件中改一下这行:extension_dir = "c:/php/extensions/"(假如你的PHP是装在c:/下)
      

  6.   

    设置我就不说了,前面有众多高手指点,不过,要注意的时:gd不能与gd2同时使用,就是说只能打开其中一个,要么是gd,要么是gd2!!!这里给你一段代码,看是否对你在所帮助:代码如下:
    ---------------------------------------------------------------------
    <?$FILENAME=time()."_s";// 生成图片的宽度
    $RESIZEWIDTH=200;// 生成图片的高度
    $RESIZEHEIGHT=200;
    function ResizeImage($im,$maxwidth,$maxheight,$name){
        $width = imagesx($im);
        $height = imagesy($im);
        if(($maxwidth && $width > $maxwidth) || ($maxheight && $height > $maxheight)){
            if($maxwidth && $width > $maxwidth){
                $widthratio = $maxwidth/$width;
                $RESIZEWIDTH=true;
            }
            if($maxheight && $height > $maxheight){
                $heightratio = $maxheight/$height;
                $RESIZEHEIGHT=true;
            }
            if($RESIZEWIDTH && $RESIZEHEIGHT){
                if($widthratio < $heightratio){
                    $ratio = $widthratio;
                }else{
                    $ratio = $heightratio;
                }
            }elseif($RESIZEWIDTH){
                $ratio = $widthratio;
            }elseif($RESIZEHEIGHT){
                $ratio = $heightratio;
            }
            $newwidth = $width * $ratio;
            $newheight = $height * $ratio;
            if(function_exists("imagecopyresampled")){
                  $newim = imagecreatetruecolor($newwidth, $newheight);
                  imagecopyresampled($newim, $im, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
            }else{
                $newim = imagecreate($newwidth, $newheight);
                  imagecopyresized($newim, $im, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
            }
            ImageJpeg ($newim,$name . ".jpg");
            ImageDestroy ($newim);
        }else{
            ImageJpeg ($im,$name . ".jpg");
        }
    }if($_FILES['image']['size']){
        if($_FILES['image']['type'] == "image/pjpeg"){
            $im = imagecreatefromjpeg($_FILES['image']['tmp_name']);
        }elseif($_FILES['image']['type'] == "image/x-png"){
            $im = imagecreatefrompng($_FILES['image']['tmp_name']);
        }elseif($_FILES['image']['type'] == "image/gif"){
            $im = imagecreatefromgif($_FILES['image']['tmp_name']);
        }
        if($im){
            if(file_exists("$FILENAME.jpg")){
                unlink("$FILENAME.jpg");
            }
            ResizeImage($im,$RESIZEWIDTH,$RESIZEHEIGHT,$FILENAME);
            ImageDestroy ($im);
        }
    }?><img src="<? echo($FILENAME.".jpg?reload=".rand(0,999999)); ?>"><br><br><form enctype="multipart/form-data" method="post">
    <br>
    <input type="file" name="image" size="50" value="浏览"><p>
    <input type="submit" value="上传图片">
    </form> </body>
    </html>
    ---------------------------------------------------------------------
      

  7.   

    是你自己的服务器吗?如果是,不要用GD了,效果太差,用ImageMagick吧,保你满意!!有时间的话我想写个它的使用方法,效果可以看看 httop://www.xgrb.cn/photo/index.php
      

  8.   

    几天没来了,谢谢大家热情参与!
    GD设置问题已解决,可基本问题还没解决。
    怎样用其它方法实现文件缩略?最近琢磨PHPBB的代码,发现GIF文件不能显示缩略,请高人指点。
      

  9.   

    luza,httop://www.xgrb.cn/photo/index.php你是用的imagemagick生成的?效果还不错。做的图片背景也挺漂亮。
      

  10.   

      $imgpath="c:/img.pic";//源图路径
               $newimgpath="c/img_small.pic";//生成的缩略图路径           $srcSize= getImageSize($imgpath);
      $srcRatio=$srcSize[0]/$srcSize[1];
      if(100*$srcRatio>120){
      $w=120;$h=0;   //要求按原图比例缩扩后,宽不能大于120像素,
      }else{
          $w=0;$h=87;         //要求按原图比例缩扩后高不能大于87像素
      }
           if($srcSize[2]==2)
           @makeimage($imgpath,$newimgpath,$w,$h);FUNCTION makeimage($srcFile,$dstFile,$dstW,$dstH) {
    global $wangming,$wangming2,$news,$tugao,$tukuan,$zdimg;
    $quality=80;  //设置清淅度80%
    $srcFile=str_replace($wangming,$news,$srcFile);
    $srcFile=str_replace($wangming2,$news,$srcFile);
    if(!file_exists($srcFile) || $srcFile==""){
    return;
    }
        if(file_exists($srcFile2)){
    $srcFile=$srcFile2;
    }
    $srcSize= getImageSize($srcFile);
    $srcW=$srcSize[0];
    $srcH=$srcSize[1];
    $srcRatio=$srcSize[0]/$srcSize[1];
    if($dstW==0){
    $dstW=ceil($dstH*$srcRatio); 
    }
    if($dstH==0){
    $dstH=ceil($dstW/$srcRatio);
    }
    $tugao=$dstH;
    $tukuan=$dstW;
    $ni=imageCreateTrueColor($dstW,$dstH);
            switch ($srcSize[2]) { 
                    case 1: $im = imageCreateFromGif($srcFile);break; 
                    case 2: $im = imageCreateFromJpeg($srcFile);break; 
                    case 3: $im = imageCreateFromPng($srcFile);break; 
                    default: return false; break; 
            } 
    ImageCopyResampled($ni,$im,0,0,0,0,$dstW,$dstH,$srcW,$srcH);
    switch ($srcSize[2]) { 
                    case 1:
                    case 2: imageJpeg($ni,$dstFile,$quality); break; 
                    case 3: imagePng($ni,$dstFile); break; 
            } 
    }
      

  11.   

    一般来说都是用gd库的.
    但是你如果算法不错的话,可以自己编写类似gd库的编码规则..
      

  12.   

    可以尝试一下SVG格式图片,是用xml描述的,不过对客户端有些要求,要有svg格式浏览器,不过好像现在IE6应该有的
      

  13.   

    imagemagick不错,正在使用中.
      

  14.   

    zairwolfi(君子兰) 不是,是一个国外的相册程序,要用到imagemagick,可惜我们的系统管理员太差,只会WIN2000,不会LINUX,所以只能调用 exec(), 如果是LINUX就好了,可以直接用用convert()。
    我开始也用GD2,结果发现不管怎么搞都不好看,还是imagemagick爽!
    不知各位大侠还有什么好软件吗???
      

  15.   

    janlon(Roydo-Myths)怎么修改上传图片的目录
      

  16.   

    有谁贴一imagemagick生成GIF的缩略图的代码,让我学习一下
      

  17.   

    我曾经用GD写过一个缩略图的类,,不过不是用GD库,我就不知道如何产生缩略图了
      

  18.   

    还有其他扩展支持图片编辑的,比如freeimage,呵呵