基于PHP實(shí)現(xiàn)等比壓縮圖片大小
廢話不多說(shuō)了,直接給大家貼php等比壓縮圖片大小的相關(guān)代碼了,具體代碼如下所示:
<?php
$im = imagecreatefromjpeg('D:\phpplace\.jpeg');
resizeImage($im,,,'xinde','.jpg');
function resizeImage($im,$maxwidth,$maxheight,$name,$filetype)
{
$pic_width = imagesx($im);
$pic_height = imagesy($im);
echo "start-----------------" ;
if(($maxwidth && $pic_width > $maxwidth) && ($maxheight && $pic_height > $maxheight))
{
if($maxwidth && $pic_width>$maxwidth)
{
$widthratio = $maxwidth/$pic_width;
$resizewidth_tag = true;
}
if($maxheight && $pic_height>$maxheight)
{
$heightratio = $maxheight/$pic_height;
$resizeheight_tag = true;
}
if($resizewidth_tag && $resizeheight_tag)
{
if($widthratio<$heightratio)
$ratio = $widthratio;
else
$ratio = $heightratio;
}
if($resizewidth_tag && !$resizeheight_tag)
$ratio = $widthratio;
if($resizeheight_tag && !$resizewidth_tag)
$ratio = $heightratio;
$newwidth = $pic_width * $ratio;
$newheight = $pic_height * $ratio;
if(function_exists("imagecopyresampled"))
{
$newim = imagecreatetruecolor($newwidth,$newheight);
imagecopyresampled($newim,$im,,,,,$newwidth,$newheight,$pic_width,$pic_height);
}
else
{
$newim = imagecreate($newwidth,$newheight);
imagecopyresized($newim,$im,,,,,$newwidth,$newheight,$pic_width,$pic_height);
}
$name = $name.$filetype;
imagejpeg($newim,$name);
imagedestroy($newim);
}
else
{
$name = $name.$filetype;
imagejpeg($im,$name);
}
}
以上代碼內(nèi)容是小編給大家介紹的基于PHP實(shí)現(xiàn)等比壓縮圖片大小的相關(guān)內(nèi)容,代碼簡(jiǎn)單易懂,哪里寫(xiě)的不好,歡迎各位大俠多多提出寶貴意見(jiàn),小編非常樂(lè)意。
- PHP圖像處理技術(shù)實(shí)例總結(jié)【繪圖、水印、驗(yàn)證碼、圖像壓縮】
- PHP圖片裁剪函數(shù)(保持圖像不變形)
- PHP圖像識(shí)別技術(shù)原理與實(shí)現(xiàn)
- PHP中繪制圖像的一些函數(shù)總結(jié)
- php圖像處理函數(shù)大全(推薦收藏)
- php使用imagick模塊實(shí)現(xiàn)圖片縮放、裁剪、壓縮示例
- 淺談關(guān)于PHP解決圖片無(wú)損壓縮的問(wèn)題
- PHP添加圖片水印、壓縮、剪切的封裝類
- php高清晰度無(wú)損圖片壓縮功能的實(shí)現(xiàn)代碼
- PHP的圖像處理實(shí)例小結(jié)【文字水印、圖片水印、壓縮圖像等】
相關(guān)文章
destoon安裝出現(xiàn)Internal Server Error的解決方法
這篇文章主要介紹了destoon安裝出現(xiàn)Internal Server Error的解決方法,需要的朋友可以參考下2014-06-06
C#使用PHP服務(wù)端的Web Service通信實(shí)例
這篇文章主要介紹了C#使用PHP服務(wù)端的Web Service通信實(shí)例,需要的朋友可以參考下2014-04-04
php解決搶購(gòu)秒殺抽獎(jiǎng)等大流量并發(fā)入庫(kù)導(dǎo)致的庫(kù)存負(fù)數(shù)的問(wèn)題
最近在做一個(gè)團(tuán)購(gòu)項(xiàng)目,遇到個(gè)問(wèn)題,就是在搶購(gòu)、秒殺、抽獎(jiǎng)等活動(dòng)時(shí),庫(kù)存數(shù)量有限,但是同時(shí)下單人數(shù)超過(guò)了庫(kù)存數(shù)量,就會(huì)導(dǎo)致商品超售問(wèn)題。那么我們?cè)趺磥?lái)解決這個(gè)問(wèn)題呢,我的思路如下:2014-06-06
封裝ThinkPHP的一個(gè)文件上傳方法實(shí)例
這篇文章主要介紹了封裝ThinkPHP的一個(gè)文件上傳方法,以實(shí)例的形式詳細(xì)講述了文件上傳類的實(shí)現(xiàn)以及具體功能講解,非常實(shí)用,需要的朋友可以參考下2014-10-10
Swoole-1.7.22 版本已發(fā)布,修復(fù)PHP7相關(guān)問(wèn)題
swoole-1.7.22 版本已發(fā)布,此版本是一個(gè)BUG修復(fù)版本,專門針對(duì)PHP7做了大量修改,可完美運(yùn)行于PHP7環(huán)境2015-12-12
PHP產(chǎn)生不重復(fù)隨機(jī)數(shù)的5個(gè)方法總結(jié)
這篇文章主要介紹了PHP產(chǎn)生不重復(fù)隨機(jī)數(shù)的5個(gè)方法總結(jié),PHP隨機(jī)數(shù)經(jīng)常在項(xiàng)目中使用,本文總結(jié)了網(wǎng)絡(luò)上的和自己項(xiàng)目中用到的隨機(jī)數(shù)生成方法,需要的朋友可以參考下2014-11-11

