php如何使用imagecopyresampled(影象處理常式)?

2020-07-16 10:05:54
php如何使用imagecopyresampled(影象處理常式)?下面本篇文章給大家詳解一下php影象處理常式imagecopyresampled用法。有一定的參考價值,有需要的朋友可以參考一下,希望對大家有所幫助。

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。

案例

1、影象裁減

<?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); // 輸出圖象到瀏覽器或檔案
?>

2、重新取樣

<?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. 選擇圖片,上傳到伺服器,通過某種途徑獲取到伺服器的圖片,儲存到本地

!

以上就是php如何使用imagecopyresampled(影象處理常式)?的詳細內容,更多請關注TW511.COM其它相關文章!