国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > PHP > 正文

PHP實現圖片不變型裁剪及圖片按比例裁剪的方法

2024-05-04 23:42:16
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了PHP實現圖片不變型裁剪及圖片按比例裁剪的方法,涉及PHP裁剪縮略圖的常用技巧,需要的朋友可以參考下
 

本文實例講述了PHP實現圖片不變型裁剪及圖片按比例裁剪的方法。分享給大家供大家參考,具體如下:

圖片不變型裁剪

<?php/** * imageCropper * @param string $source_path * @param string $target_width * @param string $target_height */function imageCropper($source_path, $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){    // image-to-height    $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){    //image-to-widht    $cropped_width = $source_height / $target_ratio;    $cropped_height = $source_height;    $source_x = ($source_width - $cropped_width) / 2;    $source_y = 0;  }else{    //image-size-ok    $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 ;      break;  }  $target_image = imagecreatetruecolor($target_width, $target_height);  $cropped_image = imagecreatetruecolor($cropped_width, $cropped_height);  // copy  imagecopy($cropped_image, $source_image, 0, 0, $source_x, $source_y, $cropped_width, $cropped_height);  // zoom  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);  imagedestroy($source_image);  imagedestroy($target_image);  imagedestroy($cropped_image);}$filename = "8fcb7a0831b79c61.jpg";imageCropper($filename,200,200);?>

圖片按比例裁剪

<?php/** * imageZoom * @param string $file * @param double $zoom */function imageZoom($filename,$zoom=0.6){  //baseinfo  $sourceImageInfo = getimagesize($filename);  $sourceWidth = $sourceImageInfo[0];  $sourceHeight = $sourceImageInfo[1];  $sourceMine = $sourceImageInfo['mime'];  $sourceRatio = $sourceWidth/$sourceHeight;  $sourceX = 0;  $sourceY = 0;  //zoom  $targetRatio = $zoom;  //target-widht-height  $targetWidth = $sourceWidth*$targetRatio;  $targetHeight = $sourceHeight*$targetRatio;  //init-params  $sourceImage = null;  switch($sourceMine){    case 'image/gif':      $sourceImage = imagecreatefromgif($filename);      break;    case 'image/jpeg':      $sourceImage = imagecreatefromjpeg($filename);      break;    case 'image/png':      $sourceImage = imagecreatefrompng($filename);      break;    default:      return ;      break;  }  //temp-target-image  $tempSourceImage = imagecreatetruecolor($sourceWidth, $sourceHeight);  $targetImage = imagecreatetruecolor($targetWidth,$targetHeight);  //copy  imagecopy($tempSourceImage, $sourceImage, 0, 0, $sourceX, $sourceY, $sourceWidth, $sourceHeight);  //zoom  imagecopyresampled($targetImage, $tempSourceImage, 0, 0, 0, 0, $targetWidth, $targetHeight, $sourceWidth, $sourceHeight);  //header  header('Content-Type: image/jpeg');  //image-loading  imagejpeg($targetImage);  //destroy  imagedestroy($tempSourceImage);  imagedestroy($sourceImage);  imagedestroy($targetImage);}$filename = "8fcb7a0831b79c61.jpg";imageZoom($filename);?>

希望本文所述對大家PHP程序設計有所幫助。



注:相關教程知識閱讀請移步到PHP教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 高邑县| 山阳县| 旬阳县| 丹巴县| 游戏| 格尔木市| 峨眉山市| 峨山| 平凉市| 连云港市| 贵阳市| 达州市| 旬邑县| 铜川市| 报价| 镇雄县| 修文县| 廊坊市| 和田县| 滨州市| 榆社县| 寿宁县| 宜春市| 沽源县| 任丘市| 渑池县| 图片| 舞钢市| 洪湖市| 息烽县| 桃源县| 从江县| 仁布县| 嵩明县| 平塘县| 穆棱市| 乌恰县| 永新县| 伽师县| 太原市| 黄浦区|