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 )

參數

dst_image 目標圖象連接資源。
src_image 源圖象連接資源。
dst_x 目標 X 坐標點。
dst_y 目標 Y 坐標點。
src_x 源的 X 坐標點。
src_y 源的 Y 坐標點。
dst_w 目標寬度。
dst_h 目標高度。
src_w 源圖象的寬度。
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 type
header('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.選擇圖片,上傳到服務器,通過某種途徑獲取到服務器的圖片,保存到本地

 

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM