zoukankan      html  css  js  c++  java
  • 一个根据宽高补白的缩略图

    <?php

    //获取原图的目录
    $file='./src.jpg';

    //有一个原图创建一个新的图像
    $file_img=imagecreatefromjpeg($file);
    //缩略图的大小
    $temp_w=100;
    $temp_h=100;
    //创建缩略图的画布
    $temp_img=imagecreatetruecolor($temp_w, $temp_h);


    //填充颜色
    $bg_color=imagecolorallocate($temp_img,0xff, 0xff, 0xff);
    imagefill($temp_img,0,0,$bg_color);//填充的区域


    //采集区域
    $src_area_x=0;
    $src_area_y=0;
    $src_area_w = $src_w = imageSx($file_img);
    $src_area_h = $src_h = imagesy($file_img);

    //判断
    //  宽之比与高之比的关系
    if ($src_w/$temp_w > $src_h/$temp_h) {
     // 宽缩放大,宽标准
     $temp_area_w = $temp_w;
     $temp_area_h = $src_h/$src_w * $temp_area_w;//
    } else {
     // 高缩放大,高标准
     $temp_area_h = $temp_h;
     $temp_area_w = $src_w/$src_h * $temp_area_h;
    }
    $temp_area_x = ($temp_w-$temp_area_w) / 2;
    $temp_area_y = ($temp_h-$temp_area_h) / 2;

    //输出
    //imagecopyresampled($temp_img, $file_img, $temp_area_x, $temp_area_y, $src_area_x, $src_area_y, $temp_w, $temp_h, $src_w, $src_h);

    imagecopyresampled($temp_img, $file_img, $temp_area_x, $temp_area_y, $src_area_x, $src_area_y, $temp_area_w, $temp_area_h, $src_area_w, $src_area_h);
    //定义输出的文件
    header('content-Type:image/jpeg');

    imagejpeg($temp_img);

    imagedestroy($file_img);
    imagedestroy($temp_img);

  • 相关阅读:
    Django -- 10.Django和Ajax
    Django -- 9.模型层(2)
    Django -- 8.模型层(1)
    Django -- 7.模板层
    Django -- 6.视图层
    Django -- 5.路由层(URLconf)_基于Django2
    Django -- 4.Django简介
    Django -- 3.web框架
    Delphi中Chrome Chromium、Cef3学习笔记(四)
    Delphi中Chrome Chromium、Cef3学习笔记(三)
  • 原文地址:https://www.cnblogs.com/love1226/p/4502218.html
Copyright © 2011-2022 走看看