首頁  >  文章  >  後端開發  >  php如何使用imagecopyresampled(影像處理函數)?

php如何使用imagecopyresampled(影像處理函數)?

青灯夜游
青灯夜游轉載
2020-04-20 09:30:394074瀏覽

php如何使用imagecopyresampled(影像處理函數)?以下這篇文章給大家詳解一下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 = &#39;demo_files/pool.jpg&#39;; // 被处理的图片
  $img_r = imagecreatefromjpeg($src); // 获取原图
  $dst_r = ImageCreateTrueColor( $targ_w, $targ_h ); // 获取新图
  imagecopyresampled($dst_r,$img_r,0,0,$_POST[&#39;x&#39;],$_POST[&#39;y&#39;],
  $targ_w,$targ_h,$_POST[&#39;w&#39;],$_POST[&#39;h&#39;]); // 目标图 源图 目标X坐标点 目标Y坐标点 源的X坐标点 源的Y坐标点 目标宽度 目标高度 源图宽度 源图高度
  header(&#39;Content-type: image/jpeg&#39;);
  imagejpeg($dst_r,null,$jpeg_quality); // 输出图象到浏览器或文件
?>

2、重新取樣

<?php
// 源文件
$filename = &#39;1.jpg&#39;;
// 设置最大宽高
$width = 400;
$height = 400;
// Content type
header(&#39;Content-Type: image/jpeg&#39;);
// 获取新尺寸
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中文網! !

以上是php如何使用imagecopyresampled(影像處理函數)?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:csdn.net。如有侵權,請聯絡admin@php.cn刪除