您好,登錄后才能下訂單哦!
本篇內容主要講解“PHP中如何完成圖像的縮放和裁剪”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“PHP中如何完成圖像的縮放和裁剪”吧!
在前面我們了解了應該怎樣去繪制圖形驗證碼,那接下來我們一起看一看,在PHP中想要實現圖像的縮放和裁剪應該怎樣操作。不過在了解圖像的縮放和裁剪之前我們先來認識一下下面這兩個函數:
imagecopyresampled
:用于重采樣拷貝部分圖像并調整大小
imagecopyresized
:用于拷貝部分圖像并調整大小
這兩個函數拷貝圖片的,可以用于完成圖像的縮放或者裁剪。它們的語法格式參數是一樣的,不同的是它們拷貝的圖片是部分還是整張的。它們的語法格式如下:
imagecopyresampled ($目標圖 ,$來源圖,$目標開始的x位置,$目標開始的y位置,$來源開始的x位置,$來源開始的y位置,$目標圖片的寬 ,$目標圖片的高,$來源圖片的寬 ,$來源圖片的高 )
從來源圖片的開始點(x,y)起,指定的寬高的大小圖片。放至到目標圖片的起點(x,y),指定寬高大小的圖片中。
縮放圖片
縮放圖片首先我們先準備一張名為dog.png的圖片:
我們的代碼需要做到以下步驟才能完成對圖形的縮放:
打開來源圖片
設置圖片縮放百分比(縮放)
獲得來源圖片,按比調整大小
新建一個指定大小的圖片為目標圖
將來源圖調整后的大小放到目標中
銷毀資源
示例如下:
<?php //打開來源圖片 $a = imagecreatefrompng('dog.png'); //定義百分比,縮放到0.1大小 $percent = 0.1; // 將圖片寬高獲取到 list($width, $height) = getimagesize('dog.png'); //設置新的縮放的寬高 $new_width = $width * $percent; $new_height = $height * $percent; //創建新圖片 $new_image = imagecreatetruecolor($new_width, $new_height); //將原圖$image按照指定的寬高,復制到$new_image指定的寬高大小中 imagecopyresampled($new_image, $a, 0, 0, 0, 0, $new_width, $new_height, $width, $height); header('content-type:image/jpeg'); imagejpeg($new_image); ?>
輸出結果:
由上述結果,通過imagecopyresampledh函數便完成了圖像的縮放。
裁剪圖片
裁剪圖片,需要通過imagecopyresized
函數來實現。接下來我們通過一個示例來解釋一下:
我有兩張名為dog.png和logo.png的圖片
現在想要吧logo圖片裁剪一些放在dog圖片上,那應該怎么實現呢?下面是主要步驟:
打開來源圖片和目標圖片
截取來源圖片中的點,設置寬高。放至到目標圖片中。(裁剪)
保存圖片輸入
銷毀資源
實際操作如下:
logo圖片中,我想要把文字部分裁剪掉,只保留圖像部分,我們可以知道想要保留的圖像部分開始的坐標是(0,0),結束的坐標是(52,59)。
那我們就把裁剪過后的圖片放到目標圖片的左上角,正好坐標也就是從(0,0)到(52,59),既然已經整理好了思路,代碼如下:
<?php $dst = imagecreatefrompng('dog.png'); $src = imagecreatefrompng('logo.png'); imagecopyresized($dst, $src, 0, 0, 0, 0, 52, 59, 52, 59); header('content-type:image/jpeg'); imagejpeg($dst); imagedestroy($dst); imagedestroy($src); ?>
輸出結果:
由上述結果,我們便完成了通過imagecopyresizedh函數的圖像裁剪。
到此,相信大家對“PHP中如何完成圖像的縮放和裁剪”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。