本文執行個體講述了php影像處理函數imagecopyresampled用法。分享給大家供大家參考,具體如下:
文法
bool imagecopyresampled ( resource $dst_image , resource $src_image , int $dst_x , int $dst_y , int $src_x , int $src_y , int $dst_w , int $dst_h , int $src_w , int $src_h )
參數
成功時返回 TRUE, 或者在失敗時返回 FALSE。
案例
案例(映像裁減):
<?php $targ_w = $targ_h = 150; // 設定目標寬度與高度 $jpeg_quality = 90; // 圖片品質90,滿分為100 $src = 'demo_files/pool.jpg'; // 被處理的圖片 $img_r = imagecreatefromjpeg($src); // 擷取原圖 $dst_r = ImageCreateTrueColor( $targ_w, $targ_h ); // 擷取新圖 imagecopyresampled($dst_r,$img_r,0,0,$_POST['x'],$_POST['y'], $targ_w,$targ_h,$_POST['w'],$_POST['h']); // 靶心圖表 源圖 目標X座標點 目標Y座標點 源的X座標點 源的Y座標點 目標寬度 目標高度 源圖寬度 源圖高度 header('Content-type: image/jpeg'); imagejpeg($dst_r,null,$jpeg_quality); // 輸出圖象到瀏覽器或檔案?>
案例二(重新取樣):
<?php// 源檔案$filename = '1.jpg';// 設定最大寬高$width = 400;$height = 400;// Content typeheader('Content-Type: image/jpeg');// 擷取新尺寸list($width_orig, $height_orig) = getimagesize($filename);$ratio_orig = $width_orig/$height_orig;if ($width/$height > $ratio_orig) { $width = $height*$ratio_orig;} else { $height = $width/$ratio_orig;}// 重新取樣$image_p = imagecreatetruecolor($width, $height);$image = imagecreatefromjpeg($filename);imagecopyresampled($image_p, $image, 0, 0, 0, 0, $width, $height, $width_orig, $height_orig);// 輸出imagejpeg($image_p, null, 100);?>
附上上傳圖片的三種思路
1.選擇圖片,提交表單,伺服器統一處理上傳,儲存路徑
2.選擇圖片,上傳,擷取路徑,提交表單,儲存路徑
3.選擇圖片,上傳到伺服器,通過某種途徑擷取到伺服器的圖片,儲存到本地
希望本文所述對大家PHP程式設計有所協助。