• php网页显示正方形图片缩略图


    需求是这样的:原始图片的大小是不定的,类似800*600、1000*756,现有一个页面要以正方形(60*60)显示这些图片,注意:图片只能在内存处理,不能缩小后保存到本地磁盘。

    解决办法:

    html页面

    <?php for($i=1;$i<=9;$i++){
       $imgu=$fav['imgurl'.$i];
         if(!empty($imgu)){
            $miniimg=WWW_ROOT."miniimg.php?filename=".$imgu;
                ?>
       <img src="<?php echo $miniimg;?>" width="60px" height="60px">
    <?php }}?>

    其中$imgu表示图片的链接地址,如:http://m1.img.libdd.com/farm4/2013/0618/17/32D9A44D5B8415A3CBFB33D141F98F937603F219A0E75_580_911.JPEG

    miniimg.php代码如下:

    <?php
    
    $filename= $_GET['filename'];
    $width = 60;
    $height = 60;
    
    // Content type
    header('Content-type: image/jpeg');
    
    // Get new dimensions
    list($x, $y) = getimagesize($filename);
    
    
    if($x>$y){
    //图片宽大于高
        $sx = abs(($y-$x)/2);
        $sy = 0;
        $thumbw = $y;
        $thumbh = $y;
    } else {
    //图片高大于等于宽
        $sy = abs(($x-$y)/2);
        $sx = 0;
        $thumbw = $x;
        $thumbh = $x;
    }
    
    // Resample
    $image_p = imagecreatetruecolor($width, $height);
    $image = imagecreatefromjpeg($filename);
    imagecopyresampled($image_p, $image, 0, 0, $sx, $sy, $width, $height, $thumbw, $thumbh);
    
    // Output
    imagejpeg($image_p, null, 100);
    
    // Imagedestroy
    imagedestroy ($image_p);

    展示地址:http://www.meixianfeng.com/userspace/62

  • 相关阅读:
    冲刺阶段 day1
    目标系统流程图 数据流图
    团队作业二
    校外实习报告(十二)
    校外实习报告(十一)
    第二周实习总结
    校外实习报告(十)
    校外实习报告(九)
    校外实习报告(八)
    校外实习报告(七)
  • 原文地址:https://www.cnblogs.com/zhishan/p/3147921.html
Copyright © 2020-2023  润新知