• 技术文章 >后端开发 >php教程

    用GD库生成高质量的缩略图片_PHP

    2016-06-01 12:34:49原创388
    PHP代码:






    $FILENAME
    ="image_name";



    // 生成图片的宽度

    $RESIZEWIDTH=400;



    // 生成图片的高度

    $RESIZEHEIGHT=400;





    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);

    }

    }



    ?>



    echo($FILENAME.".jpg?reload=".rand(0,999999)); ?>">

























    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    上一篇:SEO关于robots.txt_PHP 下一篇:php如何隐藏图片的真实地址_PHP
    PHP编程就业班

    相关文章推荐

    • 在Windows下安装Apache + PHP3_PHP教程• PHP教程.经验技巧(上)_PHP教程• 具有新特性的PHP5之异常处理机制_PHP教程• PHP控制网页过期时间的代码_PHP教程• Windows下PHP5和Apache的安装与配置_PHP教程

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网