您好,登錄后才能下訂單哦!
本篇文章為大家展示了如何在PHP中利用imagecopyresampled函數(shù)對圖片進行縮放,內(nèi)容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。
使用GD庫處理圖片縮放,通常使用imagecopyresized()和imagecopyresampled()兩個函數(shù)中的一個,而使用imagecopyresampled()函數(shù)處理后質(zhì)量會更好一些。這里只介紹一下imagecopyresampled()函數(shù)的使用方法。該函數(shù)的原型如下所示:
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)
該函數(shù)將一幅圖像中的正方形區(qū)域復制到另一個圖像中,平滑地插入像素值,因此減小了圖像的大小而仍然保持了極高的清晰度。如果成功,則返回TRUE,失敗則返回FALSE。參數(shù)dst_image和src_image分別是目標圖像和源圖像的標識符。如果源和目標的寬度和高度不同,則會進行相應的圖像收縮和拉伸,坐標指的是左上角。本函數(shù)可用來在同一幅圖內(nèi)部復制(如果dst_image和src_image相同的話)但如果區(qū)域交迭,則結果不可預知。在下面的示例中,以JPEG圖片格式為例,編寫一個圖像縮放的函數(shù)thumb(),代碼如下所示:
<?php
//用于對圖片進行縮放
function thumb($filename,$width=200,$height=200){
//獲取原圖像$filename的寬度$width_orig和高度$height_orig
list($width_orig,$height_orig) = getimagesize($filename);
//根據(jù)參數(shù)$width和$height值,換算出等比例縮放的高度和寬度
if ($width && ($width_orig<$height_orig)){
$width = ($height/$height_orig)*$width_orig;
}else{
$height = ($width / $width_orig)*$height_orig;
}
//將原圖縮放到這個新創(chuàng)建的圖片資源中
$image_p = imagecreatetruecolor($width, $height);
//獲取原圖的圖像資源
$image = imagecreatefromjpeg($filename);
//使用imagecopyresampled()函數(shù)進行縮放設置
imagecopyresampled($image_p,$image,0,0,0,0,$width,$height,$width_orig,$height_orig);
//將縮放后的圖片$image_p保存,100(質(zhì)量最佳,文件最大)
imagejpeg($image_p,$filename);
imagedestroy($image_p);
imagedestroy($image);
}
thumb("brophp.jpg",100,100);
?>
上述內(nèi)容就是如何在PHP中利用imagecopyresampled函數(shù)對圖片進行縮放,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業(yè)資訊頻道。
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。