主要介紹如何使用php等比例縮放圖片,可以對原始圖片提出縮放要求的寬度、縮放的長度.
本文介紹了PHP實作圖片壓縮方法,讀者可以根據具體應用參考或加以改進,直接上程式碼,imgzip($src,$newwid,$newhei)這個函數帶進去的分別是原始圖片、縮放要求的寬度、縮放的長度。
<?php //压缩图片 缩略图 $src= "xiezheng.jpg"; $newwid=640; $newhei= 480; function imgzip($src,$newwid,$newhei){ $imgInfo = getimagesize($src); $imgType = image_type_to_extension($imgInfo[2], false); $fun = "imagecreatefrom{$imgType}"; //声明图片 打开图片 在内存中 $image = $fun($src); //方便配置长度宽度、高度,设置框为变量wid,高度为hei $wid=$imgInfo[0]; $hei=$imgInfo[1]; //判断长度和宽度,以方便等比缩放,规格按照500, 320 if($wid>$hei){ $wid=$newwid; $hei=$newwid/($wid/$hei); }else { $wid = $newhei * ($wid / $hei); $hei = $newhei; } //在内存中建立一张图片 $images2 = imagecreatetruecolor($newwid, $newhei); //建立一个500*320的图片 //将原图复制到新建图片中 //imagecopyresampled($dst_image, $src_image, $dst_x, $dst_y, $src_x, $src_y, $dst_w, $dst_h, $src_w, $src_h) imagecopyresampled($images2, $image, 0, 0, 0, 0, $wid,$hei, $imgInfo[0],$imgInfo[1]); //销毁原始图片 imagedestroy($image); //直接输出图片文件 header("Content-type: ".$imgInfo['mime']); imagejpeg($images2); //保存图片 到新文件 imagejpeg($images2, 'new.jpg', 100); //10代码输出图片的质量 0-100 100质量最高 //销毁 imagedestroy($images2); } imgzip($src,$newwid,$newhei); ?>
下面要跟大家分享的是使用php實現的圖片等比例縮放的程式碼,小夥伴們可以將其整合到圖片上傳中去
新檔案index.php,需要在統計目錄下有圖片為q.jpg(可根據原始碼進行更改圖片的名稱)
原始碼如下:
<?php $filename="q.jpg"; $per=0.3; list($width, $height)=getimagesize($filename); $n_w=$width*$per; $n_h=$height*$per; $new=imagecreatetruecolor($n_w, $n_h); $img=imagecreatefromjpeg($filename); //拷贝部分图像并调整 imagecopyresized($new, $img,0, 0,0, 0,$n_w, $n_h, $width, $height); //图像输出新图片、另存为 imagejpeg($new, "q1.jpg"); imagedestroy($new); imagedestroy($img); ?>
使用瀏覽器運行過後,在index.php同級的目錄下會有個q1.jpg,這個圖片就是等比例縮放後的圖片,路徑可以自己在源代碼裡面更改,放在自己的項目當中去或寫個方法也行
以上是php 等比例縮放圖片的實作方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!