如何使用php等比例縮放圖片
本文介紹了PHP實(shí)現(xiàn)圖片壓縮方法,讀者可以根據(jù)具體應(yīng)用參考或加以改進(jìn),直接上代碼,imgzip($src,$newwid,$newhei)這個(gè)函數(shù)帶進(jìn)去的分別是原圖片、縮放要求的寬度、縮放的長(zhǎng)度。
<?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}";
//聲明圖片 打開(kāi)圖片 在內(nèi)存中
$image = $fun($src);
//方便配置長(zhǎng)度寬度、高度,設(shè)置框?yàn)樽兞縲id,高度為hei
$wid=$imgInfo[0];
$hei=$imgInfo[1];
//判斷長(zhǎng)度和寬度,以方便等比縮放,規(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]);
//銷(xiāo)毀原始圖片
imagedestroy($image);
//直接輸出圖片文件
header("Content-type: ".$imgInfo['mime']);
imagejpeg($images2);
//保存圖片 到新文件
imagejpeg($images2, 'new.jpg', 100); //10代碼輸出圖片的質(zhì)量 0-100 100質(zhì)量最高
//銷(xiāo)毀
imagedestroy($images2);
}
imgzip($src,$newwid,$newhei);
?>
希望本文所述對(duì)大家對(duì)PHP程序設(shè)計(jì)有所幫助。
相關(guān)文章
PHP5全版本繞過(guò)open_basedir讀文件腳本漏洞詳細(xì)介紹
這篇文章主要介紹了PHP5全版本繞過(guò)open_basedir讀文件腳本漏洞詳細(xì)介紹,這個(gè)漏洞很久之前(大概5年前)被提出來(lái)了,到現(xiàn)在的最新版本中依然存在,需要的朋友可以參考下2015-01-01
PHP Primary script unknown 解決方法總結(jié)
在本篇文章里小編給大家整理的是關(guān)于PHP Primary script unknown 終極解決方法以及相關(guān)知識(shí)點(diǎn),有需要的朋友們參考學(xué)習(xí)下。2019-08-08
PHP不使用內(nèi)置函數(shù)實(shí)現(xiàn)字符串轉(zhuǎn)整型的方法示例
一般php字符串類(lèi)型的數(shù)字如果想轉(zhuǎn)成整型的數(shù)字,我們都是采用系統(tǒng)內(nèi)置的API去做轉(zhuǎn)換,但下面這篇文章主要給大家介紹了關(guān)于PHP不使用內(nèi)置函數(shù)實(shí)現(xiàn)字符串轉(zhuǎn)整型的方法示例,文中介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面來(lái)一起看看吧。2017-07-07
關(guān)于php程序報(bào)date()警告的處理(date_default_timezone_set)
PHP Warning: date(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function2013-10-10
php判斷終端是手機(jī)還是電腦訪問(wèn)網(wǎng)站的思路及代碼
解下來(lái)將寫(xiě)個(gè)小程序使用php判斷終端是手機(jī)還是電腦訪問(wèn)網(wǎng)站,感興趣的朋友可以參考下哈,希望對(duì)你學(xué)習(xí)php有所幫助2013-04-04
PHP簡(jiǎn)單實(shí)現(xiàn)歐拉函數(shù)Euler功能示例
這篇文章主要介紹了PHP簡(jiǎn)單實(shí)現(xiàn)歐拉函數(shù)Euler功能,簡(jiǎn)單說(shuō)明了歐拉函數(shù)的概念、原理,并結(jié)合實(shí)例形式分析了php實(shí)現(xiàn)歐拉函數(shù)的相關(guān)操作技巧,需要的朋友可以參考下2017-11-11
PHP設(shè)計(jì)模式之抽象工廠模式實(shí)例分析
這篇文章主要介紹了PHP設(shè)計(jì)模式之抽象工廠模式,結(jié)合實(shí)例形式分析了php抽象工廠模式的概念、原理、使用方法及相關(guān)操作注意事項(xiàng),需要的朋友可以參考下2019-03-03
兩級(jí)聯(lián)動(dòng)select刷新后其值保持不變的實(shí)現(xiàn)方法
兩級(jí)聯(lián)動(dòng)select刷新后,select值保持不變即點(diǎn)擊提交按鈕后,頁(yè)面select中繼續(xù)維持提交前的值,下面有個(gè)不錯(cuò)的示例,大家可以參考下2014-01-01

