導航:首頁 > 文件處理 > php圖片等比壓縮

php圖片等比壓縮

發布時間:2022-09-21 21:44:42

php 如何將上傳的圖片按比例縮放並存在伺服器里

//接收上傳的文件
foreach($_FILESas$file)
{
$tempFileName=$file['tmp_name'];//上傳文件的臨時路徑
}
/把圖片移動到伺服器制定路徑
$img='/var/www/html/picture/test.jpg';
move_uploaded_file($tempFileName,$img);

//縮放比例
$ratio=0.5;

//修改尺寸至於各個函數是幹嘛的,google一下吧
$imagedata=getimagesize($img);
$olgWidth=$imagedata[0];
$oldHeight=$imagedata[1];
$newWidth=$olgWidth*$ratio;
$newHeight=$oldHeight*$ratio;

$image=imagecreatefromjpeg($img);
$thumb=imagecreatetruecolor($newWidth,$newHeight);
imageresized($thumb,$image,0,0,0,0,$newWidth,$newHeight,$olgWidth,$oldHeight);
imagejpeg($thumb,$img);

imagedestroy($thumb);
imagedestroy($image);

⑵ PHP等比例壓縮圖片的實例代碼

具體代碼如下所示:
/**
*
desription
壓縮圖片
*
@param
sting
$imgsrc
圖片路徑
*
@param
string
$imgdst
壓縮後保存路徑
*/
public
function
compressedImage($imgsrc,
$imgdst)
{
list($width,
$height,
$type)
=
getimagesize($imgsrc);
$new_width
=
$width;//壓縮後的圖片寬
$new_height
=
$height;//壓縮後的圖片高
if($width
>=
600){
$per
=
600
/
$width;//計算比例
$new_width
=
$width
*
$per;
$new_height
=
$height
*
$per;
}
switch
($type)
{
case
1:
$giftype
=
check_gifcartoon($imgsrc);
if
($giftype)
{
header('Content-Type:image/gif');
$image_wp
=
imagecreatetruecolor($new_width,
$new_height);
$image
=
imagecreatefromgif($imgsrc);
imageresampled($image_wp,
$image,
0,
0,
0,
0,
$new_width,
$new_height,
$width,
$height);
//90代表的是質量、壓縮圖片容量大小
imagejpeg($image_wp,
$imgdst,
90);
imagedestroy($image_wp);
imagedestroy($image);
}
break;
case
2:
header('Content-Type:image/jpeg');
$image_wp
=
imagecreatetruecolor($new_width,
$new_height);
$image
=
imagecreatefromjpeg($imgsrc);
imageresampled($image_wp,
$image,
0,
0,
0,
0,
$new_width,
$new_height,
$width,
$height);
//90代表的是質量、壓縮圖片容量大小
imagejpeg($image_wp,
$imgdst,
90);
imagedestroy($image_wp);
imagedestroy($image);
break;
case
3:
header('Content-Type:image/png');
$image_wp
=
imagecreatetruecolor($new_width,
$new_height);
$image
=
imagecreatefrompng($imgsrc);
imageresampled($image_wp,
$image,
0,
0,
0,
0,
$new_width,
$new_height,
$width,
$height);
//90代表的是質量、壓縮圖片容量大小
imagejpeg($image_wp,
$imgdst,
90);
imagedestroy($image_wp);
imagedestroy($image);
break;
}
}
總結
以上所述是小編給大家介紹的PHP等比例壓縮圖片的實例代碼,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網站的支持!
您可能感興趣的文章:php中10個不同等級壓縮優化圖片操作示例PHP
實現等比壓縮圖片尺寸和大小實例代碼php
gd等比例縮放壓縮圖片函數基於PHP實現等比壓縮圖片大小php上傳圖片並壓縮的實現方法PHP實現圖片上傳並壓縮PHP實現圖片壓縮的兩則實例php使用imagick模塊實現圖片縮放、裁剪、壓縮示例

⑶ 隨便下載一張圖片,使用PHP將圖片縮放到原來的1/2

//如果是JPG格式,則生成一個同比例的縮小圖
$file="xxx.jpg";

$extend_name=strtolower(substr(strrchr($file,"."),1));

if($extend_name=='jpg'){
$image = imagecreatefromjpeg($full_name);//取原圖的數據
}
//如果是gif格式,則生成一個同比例的縮小圖
if($extend_name=='gif'){
$image = imagecreatefromgif($full_name);//取原圖的數據
}
//如果是png格式,則生成一個同比例的縮小圖
if($extend_name=='png'){
$image = imagecreatefrompng($full_name);//取原圖的數據
}
//echo $full_name.$full_name_small;
$size=GetImageSize($full_name);
$x=$size[0];
$y=$size[1];
//echo $x." _ ".$y;
//假設首頁上的圖都是250象素左右,如果縮成150則圖像失真太嚴重,則把所有的圖都按這個大小進行等比縮放
//計算縮小比例
$rate=1/2;
$small_x=$size[0]*$rate;
$small_y=$size[1]*$rate;
$small_image = imagecreatetruecolor($small_x, $small_y);
imageCopyResampled($small_image,$image,0,0,0,0,$small_x,$small_y,$x,$y);
if(imagejpeg($small_image,$full_name_small)){
ImageDestroy($small_image);
}else{
}

⑷ php將pdf文件格式轉換成圖片,並壓縮

有一份pdf文件,需要將其轉換成圖片, 如果圖片過大,同時還需要將其壓縮。

1、安裝插件

因為不同版本的用法略有區別,我這里用的是2.1版, 最近文檔還需要看官方文檔。

2、簡單使用

3、常用方法

4、其他

1、說明

2、安裝

不同版本的使用略有區別,我這用的是2.5版本的

3、簡單使用

其中resize,可以指定壓縮的寬度和高度,如

如果是指定寬度,智適應高度就是這樣

save的三個參數是,

4、更多
更多使用,看 說明文檔

壓縮圖片的時候,報不能讀取問題

這個可能是遇到最多的問題。可能原因如下:
1、文件讀取許可權
查看文件的許可權,看是否有讀取的許可權(r), 沒有的話直接把文件改為 777

2、插件不支持該格式文件
輸入 php --ri imagick , 在支持列表看是否支持該文件的格式。沒有的話,自己網路啦。

3、內存或緩存不夠
進入插件的 /vendor/intervention/image/src/Intervention/Image/Imagick/Decoder.php , 在24行斷點

可能會得到消息:

然後,在網路下,原來是壓縮的文件過大,插件使用的緩存不夠,這里直接將配置改大即可

將配置文件改成如下

⑸ php等比縮放圖片,就是只按寬度縮小圖片,當圖片寬度大於750時就縮小到750 高度不用管 跟著寬度縮就行了

首先說一下思路,首先你要判斷圖片的寬度,這需要用到一個函數,個人比較喜歡用getimagesize()
其次是等比例綻放,需要用到imageresized(當然還有其他函數)
注意:我這里用到的是gd庫
實現:
寫一個函數或者類都行,我這里就以面向過程的方式來寫,你可以整理一下
$file = 'pic.jpg'; //原圖片文件
$maxWidth = 750;
$info = getimagesize($file); //取得一個圖片信息的數組,索引 0 包含圖像寬度的像素值,索引 1 包含圖像高度的像素值。索引 2 是圖像類型的標記
if($info[0] > $maxWidth )
{
exit('圖片小於'.$maxWidth.',不需要縮放');
}
$im = imagecreatefromjpeg($file); //根據圖片的格式對應的不同的函數,在此不多贅述。
$rate = $maxWidth/$info[0]; //計算綻放比例
$maxHeight = floor($info[1]*$rate); //計算出縮放後的高度
$des_im = imagecreatetruecolor($maxWidth,$maxHeight); //創建一個縮放的畫布
imageresized($des_im,$im,0,0,0,0,$maxWidth,$maxHeight,$info[0],$info[1]); //縮放
imagejpeg($des_im,'thumb.jpg'); //輸出到thumb.jpg即為一個縮放後的文件

⑹ php壓縮圖片大小到500k一下應該怎麼做啊

可以用光影啊,還有就是ps都可以了

⑺ php等比例壓縮圖片

等比壓縮的知道比例吧?。所以需要根據比例設置$dst_w 和$dst_h
比如設置比例為2:1,代碼就應該這樣設置

$dst_w = $src_w/2
$dst_h = $src_h/2
這樣就行了

⑻ 如何利用php把上傳的圖片壓縮

<?php
//Thefile
$filename='test.jpg';
$percent=0.5;

//Contenttype
header('Content-Type:image/jpeg');

//Getnewdimensions
list($width,$height)=getimagesize($filename);
$new_width=$width*$percent;
$new_height=$height*$percent;

//Resample
$image_p=imagecreatetruecolor($new_width,$new_height);
$image=imagecreatefromjpeg($filename);
imageresampled($image_p,$image,0,0,0,0,$new_width,$new_height,$width,$height);

//Output
imagejpeg($image_p,null,100);
?>

http://php.net/manual/en/function.imageresampled.php

⑼ php 等比例壓縮和函數循環調用問題

$arr['tmp']['size']這個就是限制圖片上傳大小的值,單位是bit。等比例壓縮我不會

⑽ php 怎麼壓縮圖片的大小

好辦的,你把網站下載到本地,然後 用這個批量壓縮圖片的軟體就可以了

閱讀全文

與php圖片等比壓縮相關的資料

熱點內容
皓強工具解壓步驟 瀏覽:690
部隊抗洪搶險命令範文 瀏覽:888
歐姆龍plc編程軟體使用教程 瀏覽:592
ai文件pdf 瀏覽:911
騰訊雲伺服器掛載混合雲 瀏覽:758
智能小車用什麼單片機 瀏覽:463
java怎麼給窗口關閉 瀏覽:940
列舉51單片機的定址方式 瀏覽:706
剪輯app怎麼寫長篇文字 瀏覽:400
app專屬流量過月租怎麼不更新 瀏覽:654
王者程序員都有誰 瀏覽:76
給牛換腳掌解壓 瀏覽:387
圍棋有多少種演算法 瀏覽:602
unity資源包在哪個文件夾 瀏覽:704
阿里雲伺服器遠程鏈接不成功 瀏覽:482
文件系統pdf 瀏覽:767
原神安卓區服什麼意思 瀏覽:38
貝殼app怎麼線上發布 瀏覽:161
如何挑選安卓系統機頂盒 瀏覽:55
安卓快充使用有什麼注意事項 瀏覽:911