『壹』 如何壓縮已上傳的伺服器中的圖片,有沒有好用的php頁面源碼
你的伺服器是什麼系統? WINDOWS還是LINUX?
WINDOWS的話你可以另外開發一個軟體放在伺服器上,實時監測是否有新的圖片上傳上來,有的話你就執行圖片的大小尺寸或者圖片畫質的壓縮,當然你的軟體也可以通過訪問你的PHP程序來完成圖片壓縮。
LINUX系統的話,可以寫一個常駐腳本,實時監控你的圖片,所以發現圖片文件超過指定大小的話,也執行圖片大小和尺寸壓縮的,當然也能通過調用PHP來執行。
以下是一段PHP的圖片壓縮代碼:
//縮放圖片
function mt($srcFile,$dstFile,$max_width=200,$max_height=150,$imgQuality=90){
$data=@getimagesize($srcFile);
if($data[0]<=$data[1] and $data[1]>=$max_height){
$height=$max_height;
$width=intval($height*$data[0]/$data[1]);
}
if($data[0]>=$data[1] and $data[0]>=$max_width){
$width=$max_width;
$height=intval($width*$data[1]/$data[0]);
}
if($height>$max_height){
$height=$max_height;
$width=intval($height*$data[0]/$data[1]);
}
if($data[0]<$max_width and $data[1]<$max_height){
$width=$data[0];
$height=$data[1];
}
switch($data[2]){
case 1:
$im=@imagecreatefromgif($srcFile);
break;
case 2:
$im=@imagecreatefromjpeg($srcFile);
break;
case 3:
$im=@imagecreatefrompng($srcFile);
break;
}
$srcW=@imagesx($im);
$srcH=@imagesy($im);
$ni=@imagecreatetruecolor($width,$height);
@imageresampled($ni,$im,0,0,0,0,$width,$height,$srcW,$srcH);
switch($data[2]){
case 'gif':@imagepng($ni,$dstFile, $imgQuality); break;
case 'jpeg':@imagejpeg($ni,$dstFile, $imgQuality); break;
case 'png':@imagepng($ni,$dstFile, $imgQuality); break;
default:@imagejpeg($ni,$dstFile, $imgQuality); break;
}
}
『貳』 如何在Windows中安裝ImageMagick服務
一直以來都是使用GD在處理縮圖,聽說ImageMagick比較好用,所以來安裝試試
在谷歌大神里找到的教學大多是安裝於Linux上,安裝於Windows也是有,但安裝時遇到了一些問題
只好自己亂搞亂試了,如果你也有安裝上的問題,不妨參考看看
1. 先查看phpinfo確認PHP Extension Build里的值
2. 前往 http://www.peewit.fr/imagick/ 下載 php_imagick.dll,依照PHP的版本及步驟1上看到的TS(Thread Safe),或NTS(Non Thread Safe),把下載後的檔案放入 xampp\php\ext 中
3. 打開php.ini加上extension=php_imagick.dll
4. 前往 http://windows.php.net/downloads/pecl/deps/ 下載 ImageMagick ,依照步驟1上看到的VC9或VC11下載相對應的檔案,解壓縮後把資料夾bin裡面全部的.dll檔,放到 C:\Windows\system 里
『叄』 php手機端圖片裁剪怎麼做
340改成 100%或是 你想適應的屏幕的比例
『肆』 pdf文件太大imagick無法讀取怎麼辦
PDF文件過大導致imagick無法讀取可通過壓縮PDF文件來解決,市面上壓縮PDF的在線服務有不少,但是還是推薦本地軟體壓縮,更加私密和安全。
2、選擇清晰度
清晰度可以設置0-100的數值,數值越小,壓縮後的PDF文件體積越小,但清晰度越低;數值越大,壓縮後的PDF文件體積越大,但清晰度越高。您可以根據實際需求來權衡,一般情況下建議使用默認的清晰度50,能很好的在清晰度和文件體積中達到均衡。
3、選擇導出目錄
如無特殊需求,一般保持默認的」源文件目錄即可「,您也可以選擇自定義目錄,將文件保存到指定的文件夾中。
完成以上步驟後,就可以點擊軟體界面上藍色的」開始轉換「按鈕,完成後會彈出提醒,點擊打開文件即可查看轉換結果,如果對壓縮結果不滿意,可通過調整清晰度來解決。
『伍』 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,現在遇到一個問題:我現在要實現把目錄文件下的pdf文件批量轉換成png圖片,
你要把錯誤代碼貼出來啊親,我看了一下,你是不是沒有裝imagick這個php擴展啊
『柒』 [php],ext\php_imagick.dll' - 找不到指定的模塊。求大神解決!
好不容易有個愛學習的小朋友,怎麼可以打擊自信心呢!
我也是搞得,且看以下我的總結:
1、在php.ini中開啟擴展(php.ini的實際路徑要注意)
extension=php_imagick.dll
2、按phpinfo中的信息下載相應擴展包
如:php_imagick-3.4.4-7.1-ts-vc14-x86
應該是7.1(VC14),ts線程安全,x86平台
3、重點!重點!把壓縮包根目錄中的所有dll文件都解壓到ext目錄中。
4、重點!重點!設定系統環境變數Path,把php的ext目錄路徑添加到Path中。
然後,用php --ri imagick命令測試一下看看。
希望能幫到你啊!(歡迎關注公眾號「網管小賈」)
『捌』 phpstudy安裝imagick擴展庫怎麼裝
phpstudy安裝imagick擴展庫的過程:
1、到imagemagick官網下載imagemagickwindows安裝包:
10、出現224就證明安裝成功。