在之前的文章中為大家帶來了《怎麼通過PHP來繪製圖形驗證碼? 》,其中介紹了在PHP中怎樣繪製文字,怎樣結合之前的知識繪製圖形驗證碼,本篇文章,我們一起來看一看應該怎樣給圖形進行圖像縮放和裁剪,希望能幫助到大家!
在前面我們了解了應該怎樣去繪製圖形驗證碼,那接下來我們一起看一看,在PHP中想要實現圖像的縮放和裁剪應該怎樣操作。不過在了解圖片的縮放和裁剪之前我們先來認識一下下面這兩個函數:
<strong>#imagecopyresampled</strong><strong> </strong>
<strong></strong><strong>##:用於重採樣拷貝部分影像並調整大小 </strong>
imagecopyresampled ($目标图 ,$来源图,$目标开始的x位置,$目标开始的y位置,$来源开始的x位置,$来源开始的y位置,$目标图片的宽 ,$目标图片的高,$来源图片的宽 ,$来源图片的高 )
#我們的程式碼需要做到以下步驟才能完成對圖形的縮放:
開啟來源圖片
#設定圖片縮放百分比(縮放)
新指定大小的圖片為目標圖
將來源圖調整後的大小放到目標圖
銷毀資源
範例如下:<?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); ?>
裁剪圖片
我有兩張名為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); ?>
以上是PHP中怎樣完成影像的縮放和裁切? (實例詳解)的詳細內容。更多資訊請關注PHP中文網其他相關文章!