您好,登錄后才能下訂單哦!
利用PHP怎么截取指定大小的圖片?針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。
具體分析如下:
imagecopyresampled($newim, $im, 0, 0, 7, 174, 120, 42, $new_img_width, $new_img_height); // 原始尺寸 120 x 42
imagecopyresampled($newim, $im, 0, 0, 100, 30, 500, 500, $new_img_width, $new_img_height); // 圖截出來后放到 500 x 500
imagecopyresampled($newim, $im, 0, 0, 100, 30, 10, 10, $new_img_width, $new_img_height); // 圖截出來后縮小到 10 x 10
大概主要是這個 function 的操作而已,主要只看第一個原尺寸的那個參數對照就好了,下述是 imagecopyresampled 的參數,一個一個對照如下:
$newim: imagecreate($new_img_width, $new_img_height); 建立的空白圖層
$im: imagecreatefromjpeg($filename); 把原本的圖片讀進來
0: 輸出圖要從哪邊開始的 x 點(圖片輸出的點是可以指定的,沒指定到的位置就會是你 create 的圖層顏色或圖)
0: 輸出圖要從哪邊開始的 y 點(同上)
7: 原始圖要從哪邊開始 x (指定要從哪個 x 點開始截取)
174: 原始圖要從哪邊開始 y (指定要從哪個點開始截取,截取區塊大小由下面兩個參數去定)
120: 截圖要截多大 width ,從上面的指定的位置,開始截取 120px 寬(如果要放大縮小也是由此處決定)
42: 截圖要截多大 height ,從上面的指定的位置,開始截取 42px 高(如果要放大縮小也是由此處決定)
$new_img_width: 這是新的圖,從上面寫的第二組參數 0, 0 ,要開始畫多寬(在此程式目前是指定截圖的大小)
$new_img_height: 這是新的圖,從上面的第二組參數 0, 0 ,要開始畫多高(在此程式目前是指定截圖的大小)
PHP實例代碼如下:
header("Content-type: image/jpeg"); $filename = 'book_rabbit_rule.jpg'; /* 讀取圖檔 */ $im = imagecreatefromjpeg($filename); /* 圖片要截多少, 長/寬 */ $new_img_width = 120; $new_img_height = 42; /* 先建立一個 新的空白圖檔 */ $newim = imagecreate($new_img_width, $new_img_height); // 輸出圖要從哪邊開始 x, y ,原始圖要從哪邊開始 x, y ,要畫多大 x, y(resize) , 要抓多大 x, y imagecopyresampled($newim, $im, 0, 0, 7, 174, 120, 42, $new_img_width, $new_img_height); /* 放大成 500 x 500 的圖 */ // imagecopyresampled($newim, $im, 0, 0, 100, 30, 500, 500, $new_img_width, $new_img_height); /* 將圖印出來 */ imagejpeg($newim); /* 資源回收 */ imagedestroy($newim); imagedestroy($im);
關于利用PHP怎么截取指定大小的圖片問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。