如何使用php等比例縮放圖片
本文介紹了PHP實(shí)現(xiàn)圖片壓縮方法,讀者可以根據(jù)具體應(yīng)用參考或加以改進(jìn),直接上代碼,imgzip($src,$newwid,$newhei)這個(gè)函數(shù)帶進(jìn)去的分別是原圖片、縮放要求的寬度、縮放的長度。
<?php
//壓縮圖片 縮略圖
$src= "xiezheng.jpg";
$newwid=640;
$newhei= 480;
function imgzip($src,$newwid,$newhei){
$imgInfo = getimagesize($src);
$imgType = image_type_to_extension($imgInfo[2], false);
$fun = "imagecreatefrom{$imgType}";
//聲明圖片 打開圖片 在內(nèi)存中
$image = $fun($src);
//方便配置長度寬度、高度,設(shè)置框?yàn)樽兞縲id,高度為hei
$wid=$imgInfo[0];
$hei=$imgInfo[1];
//判斷長度和寬度,以方便等比縮放,規(guī)格按照500, 320
if($wid>$hei){
$wid=$newwid;
$hei=$newwid/($wid/$hei);
}else {
$wid = $newhei * ($wid / $hei);
$hei = $newhei;
}
//在內(nèi)存中建立一張圖片
$images2 = imagecreatetruecolor($newwid, $newhei); //建立一個(gè)500*320的圖片
//將原圖復(fù)制到新建圖片中
//imagecopyresampled($dst_image, $src_image, $dst_x, $dst_y, $src_x, $src_y, $dst_w, $dst_h, $src_w, $src_h)
imagecopyresampled($images2, $image, 0, 0, 0, 0, $wid,$hei, $imgInfo[0],$imgInfo[1]);
//銷毀原始圖片
imagedestroy($image);
//直接輸出圖片文件
header("Content-type: ".$imgInfo['mime']);
imagejpeg($images2);
//保存圖片 到新文件
imagejpeg($images2, 'new.jpg', 100); //10代碼輸出圖片的質(zhì)量 0-100 100質(zhì)量最高
//銷毀
imagedestroy($images2);
}
imgzip($src,$newwid,$newhei);
?>
希望本文所述對大家對PHP程序設(shè)計(jì)有所幫助。
相關(guān)文章
php實(shí)現(xiàn)自動(dòng)生成驗(yàn)證碼的實(shí)例講解
在本篇文章里小編給大家整理了一篇關(guān)于php實(shí)現(xiàn)自動(dòng)生成驗(yàn)證碼的實(shí)例講解內(nèi)容,有需要的朋友們可以跟著學(xué)習(xí)下。2021-10-10
php使用ZipArchive函數(shù)實(shí)現(xiàn)文件的壓縮與解壓縮
這篇文章主要介紹了php使用ZipArchive函數(shù)實(shí)現(xiàn)文件的壓縮與解壓縮,需要的朋友可以參考下2015-10-10
PHP+JavaScript實(shí)現(xiàn)無刷新上傳圖片
本文主要介紹了PHP+JavaScript實(shí)現(xiàn)無刷新上傳圖片的方法,具有很好的參考價(jià)值,下面跟著小編一起來看下吧2017-02-02
PHP時(shí)間類完整實(shí)例(非常實(shí)用)
這篇文章主要介紹了PHP時(shí)間類完整實(shí)例,涉及PHP針對日期、時(shí)間、星期等的獲取與比較等操作技巧,非常簡單實(shí)用,需要的朋友可以參考下2015-12-12
PHP中l(wèi)trim與rtrim去除左右空格及特殊字符實(shí)例
這篇文章主要介紹了PHP中l(wèi)trim與rtrim去除左右空格及特殊字符的用法,結(jié)合實(shí)例形式較為詳細(xì)的說明了ltrim與rtrim的定義,參數(shù)作用及去除左右空格與特殊字符的使用技巧,需要的朋友可以參考下2016-01-01
PHP學(xué)習(xí)筆記之三 數(shù)據(jù)庫基本操作
本文介紹最基本最實(shí)用的數(shù)據(jù)庫操作。首先簡單復(fù)習(xí)下MySQL的使用方法,并且建好一張表備用。MySQL在Linux系統(tǒng)上一般都是裝好的,在win下安裝也很簡單,不多做介紹。2011-01-01

