<delect id="sj01t"></delect>
  1. <em id="sj01t"><label id="sj01t"></label></em>
  2. <div id="sj01t"></div>
    1. <em id="sj01t"></em>

            <div id="sj01t"></div>
            php語言

            PHP生成縮略圖的方法

            時間:2025-03-17 10:44:23 php語言 我要投稿

            PHP生成縮略圖的方法

              PHP語法吸收了C語言、Java和Perl的特點,利于學習,使用廣泛,以下是為大家分享的PHP生成縮略圖的方法,供大家參考借鑒,歡迎瀏覽!

              <?php

              function getCropper($source_path,$NewImagePath, $target_width, $target_height)

              {

              $source_info   = getimagesize($source_path);

              $source_width  = $source_info[0];

              $source_height = $source_info[1];

              $source_mime   = $source_info['mime'];

              $source_ratio  = $source_height / $source_width;

              $target_ratio  = $target_height / $target_width;

              // 源圖過高

              if ($source_ratio > $target_ratio)

              {

              $cropped_width  = $source_width;

              $cropped_height = $source_width * $target_ratio;

              $source_x = 0;

              $source_y = ($source_height - $cropped_height) / 2;

              }

              // 源圖過寬

              elseif ($source_ratio < $target_ratio)

              {

              $cropped_width  = $source_height / $target_ratio;

              $cropped_height = $source_height;

              $source_x = ($source_width - $cropped_width) / 2;

              $source_y = 0;

              }

              // 源圖適中

              else

              {

              $cropped_width  = $source_width;

              $cropped_height = $source_height;

              $source_x = 0;

              $source_y = 0;

              }

              switch ($source_mime)

              {

              case 'image/gif':

              $source_image = imagecreatefromgif($source_path);

              break;

              case 'image/jpeg':

              $source_image = imagecreatefromjpeg($source_path);

              break;

              case 'image/png':

              $source_image = imagecreatefrompng($source_path);

              break;

              default:

              return false;

              break;

              }

              $target_image  = imagecreatetruecolor($target_width, $target_height);

              $cropped_image = imagecreatetruecolor($cropped_width, $cropped_height);

              // 圖片裁剪

              imagecopy($cropped_image, $source_image, 0, 0, $source_x, $source_y, $cropped_width, $cropped_height);

              // 圖片縮放

              imagecopyresampled($target_image, $cropped_image, 0, 0, 0, 0, $target_width, $target_height, $cropped_width, $cropped_height);

              header('Content-Type: image/jpeg');

              imagejpeg($target_image,$NewImagePath,100);

              imagedestroy($source_image);

              imagedestroy($target_image);

              imagedestroy($cropped_image);

              }

              以下方法是生成縮略圖,填充白邊的方法

              <?php

              //生成縮略圖,填充白邊

              function getCrops($src_path,$NewImagePath,$width,$height){

              //源圖對象

              $src_image = imagecreatefromstring(file_get_contents($src_path));

              $source_info   = getimagesize($src_path);

              $source_mime   = $source_info['mime'];

              $src_width = imagesx($src_image);

              $src_height = imagesy($src_image);

              switch ($source_mime)

              {

              case 'image/gif':

              $src_image = imagecreatefromgif($src_path);

              break;

              case 'image/jpeg':

              $src_image = imagecreatefromjpeg($src_path);

              break;

              case 'image/png':

              $src_image = imagecreatefrompng($src_path);

              break;

              default:

              return false;

              break;

              }

              //生成等比例的縮略圖

              //$tmp_image_width = 0;

              //$tmp_image_height = 0;

              if ($src_width / $src_height >= $width / $height) {

              $tmp_image_width = $width;

              $tmp_image_height = round($tmp_image_width * $src_height / $src_width);

              } else {

              $tmp_image_height = $height;

              $tmp_image_width = round($tmp_image_height * $src_width / $src_height);

              }

              $tmpImage = imagecreatetruecolor($tmp_image_width, $tmp_image_height);

              imagecopyresampled($tmpImage, $src_image, 0, 0, 0, 0, $tmp_image_width, $tmp_image_height, $src_width, $src_height);

              //添加白邊

              $final_image = imagecreatetruecolor($width, $height);

              $color = imagecolorallocate($final_image, 255, 255, 255);

              imagefill($final_image, 0, 0, $color);

              $x = round(($width - $tmp_image_width) / 2);

              $y = round(($height - $tmp_image_height) / 2);

              imagecopy($final_image, $tmpImage, $x, $y, 0, 0, $tmp_image_width, $tmp_image_height);

              //輸出圖片

              header('Content-Type: image/jpeg');

              imagejpeg($final_image,$NewImagePath,100);

              imagedestroy($src_image);

              imagedestroy($final_image);

              }


            【PHP生成縮略圖的方法】相關文章:

            PHP生成縮略圖的類的方法07-11

            php生成圖片縮略圖的方法08-23

            php生成縮略圖的兩種方法05-24

            php生成縮略圖的兩種方法(代碼)08-08

            php生成高清縮略圖實例08-12

            php上傳圖片生成縮略圖07-31

            php生成圖片縮略圖功能示例11-05

            PHP生成圖片縮略圖類示例代碼07-31

            PHP生成樹的方法介紹08-09

            <delect id="sj01t"></delect>
            1. <em id="sj01t"><label id="sj01t"></label></em>
            2. <div id="sj01t"></div>
              1. <em id="sj01t"></em>

                      <div id="sj01t"></div>
                      黄色视频在线观看