首頁 後端開發 php教程 PHP用GD库生成高质量的缩略图片_PHP

PHP用GD库生成高质量的缩略图片_PHP

Jun 01, 2016 pm 12:17 PM
gd庫 縮圖

以下是PHP源代码(ResizeImage.php)。
复制代码 代码如下:
$FILENAME="image.thumb";
// 生成图片的宽度
$RESIZEWIDTH=400;
// 生成图片的高度
$RESIZEHEIGHT=400;

function ResizeImage($im,$maxwidth,$maxheight,$name){
$width = imagesx($im);
$height = imagesy($im);
if(($maxwidth && $width > $maxwidth) || ($maxheight && $height > $maxheight)){
if($maxwidth && $width > $maxwidth){
$widthratio = $maxwidth/$width;
$RESIZEWIDTH=true;
}
if($maxheight && $height > $maxheight){
$heightratio = $maxheight/$height;
$RESIZEHEIGHT=true;
}
if($RESIZEWIDTH && $RESIZEHEIGHT){
if($widthratio $ratio = $widthratio;
}else{
$ratio = $heightratio;
}
}elseif($RESIZEWIDTH){
$ratio = $widthratio;
}elseif($RESIZEHEIGHT){
$ratio = $heightratio;
}
$newwidth = $width * $ratio;
$newheight = $height * $ratio;
if(function_exists("imagecopyresampled")){
$newim = imagecreatetruecolor($newwidth, $newheight);
imagecopyresampled($newim, $im, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
}else{
$newim = imagecreate($newwidth, $newheight);
imagecopyresized($newim, $im, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
}
ImageJpeg ($newim,$name . ".jpg");
ImageDestroy ($newim);
}else{
ImageJpeg ($im,$name . ".jpg");
}
}

if($_FILES['image']['size']){
if($_FILES['image']['type'] == "image/pjpeg"){
$im = imagecreatefromjpeg($_FILES['image']['tmp_name']);
}elseif($_FILES['image']['type'] == "image/x-png"){
$im = imagecreatefrompng($_FILES['image']['tmp_name']);
}elseif($_FILES['image']['type'] == "image/gif"){
$im = imagecreatefromgif($_FILES['image']['tmp_name']);
}
if($im){
if(file_exists("$FILENAME.jpg")){
unlink("$FILENAME.jpg");
}
ResizeImage($im,$RESIZEWIDTH,$RESIZEHEIGHT,$FILENAME);
ImageDestroy ($im);
}
}
?>

以下是测试代码(demo.php)
复制代码 代码如下:
include('ResizeImage.php');
if(!empty($_POST)){
echo($FILENAME.".jpg?cache=".rand(0,999999));
}
?>





本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
4 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

Win11怎麼停用工作列縮圖預覽? 關閉滑鼠移動工作列圖示顯示縮圖技巧 Win11怎麼停用工作列縮圖預覽? 關閉滑鼠移動工作列圖示顯示縮圖技巧 Feb 29, 2024 pm 03:20 PM

本文將介紹如何在Win11系統中關閉滑鼠移動工作列圖示時顯示的縮圖功能。這項功能在預設情況下是開啟的,當使用者將滑鼠指標懸停在工作列上的應用程式圖示上時,會顯示該應用程式的目前視窗縮圖。然而,有些用戶可能覺得這個功能不太實用或會幹擾到他們的使用體驗,因此想要關閉它。工作列縮圖可能很有趣,但它們也可能分散注意力或煩人。考慮到您將滑鼠懸停在該區域的頻率,您可能無意中關閉了重要視窗幾次。另一個缺點是它使用更多的系統資源,因此,如果您一直在尋找一種提高資源效率的方法,我們將向您展示如何停用它。不過

如何在 Windows 11 22H2 中自訂資料夾縮圖 如何在 Windows 11 22H2 中自訂資料夾縮圖 Apr 30, 2023 pm 04:52 PM

Windows1122H2是Windows11的第一個功能更新,應該會帶來大量新功能和急需的改進。其中一項改進是允許預覽資料夾內文件的資料夾縮圖。如果您不喜歡Windows11中資料夾縮圖的外觀,可以透過以下方式變更它。 Windows11中資料夾縮圖的一組自訂圖示(由Reddit的LEXX911提供)可讓您放大預覽並變更資料夾圖示樣式。您仍然需要處理單一檔案預覽(例如,在Windows7中,資料夾縮圖可以同時顯示多個影像),但您可以將其做得更大更方便。重要提示:

Vscode怎麼顯示縮圖_Vscode顯示縮圖方法 Vscode怎麼顯示縮圖_Vscode顯示縮圖方法 Apr 02, 2024 pm 02:43 PM

1.先進入VisualStudioCode後,點選左上角【檔案】。 2、然後點選【首選項】。 3.點選【設定】項。 4.接著點選【文字編輯器-縮圖】。 5.最後在縮圖項,開啟【控制是否顯示縮圖】。

PHP中的GD函式庫操作指南 PHP中的GD函式庫操作指南 May 20, 2023 pm 02:40 PM

一、什麼是GD庫? GD庫是一組用於建立和處理各種影像格式的函式庫函數,是PHP中最常用的影像處理庫之一。二、安裝GD庫在CentOS/RedHat下安裝GD庫1.安裝PHP的GD擴充庫yuminstallphp-gd2.重啟web伺服器servicehttpdrestart3.查看PHP支援的GD庫版本php-i|grep-igd在Ubunt

php無法開啟gd 函式庫怎麼辦 php無法開啟gd 函式庫怎麼辦 Nov 18, 2022 am 10:31 AM

php無法開啟gd函式庫的解決方法:1、找到並開啟php.ini設定檔;2、將「extension_dir」前面的註解符號「;」去掉;3、將其值改為ext資料夾的絕對路徑即可。

PHP產生縮圖的步驟詳解 PHP產生縮圖的步驟詳解 Sep 13, 2023 am 08:40 AM

PHP產生縮圖的步驟詳解,需要具體程式碼範例在現今互聯網高速發展的時代,圖片是網頁中不可或缺的一部分,但是高解析度的圖片不僅會佔用大量的頻寬,還會影響使用者的網頁加載速度。因此,我們常常需要將原始圖片產生縮圖,以縮小圖片尺寸和檔案大小。 PHP作為一種流行的伺服器端腳本語言,它提供了豐富的影像處理功能,可以用來產生縮圖。以下將詳細介紹PHP產生縮圖的步驟,

使用JavaScript實現自動縮圖生成 使用JavaScript實現自動縮圖生成 Jun 16, 2023 pm 12:51 PM

隨著網路的發展,圖片已成為網頁中不可或缺的一部分。但是隨著圖片數量的增多,圖片的載入速度成為了一個很重要的問題。為了解決這個問題,許多網站都採用了縮圖的方式來展示圖片,但是為了產生縮圖,我們需要使用專業的圖片處理工具,對於一些非專業人士來說,這是一個很麻煩的事情。那麼,使用JavaScript實現自動縮圖產生就成為了一個不錯的選擇。如何使用JavaS

在u盤裡怎樣顯示縮圖 在u盤裡怎樣顯示縮圖 Feb 12, 2024 pm 08:36 PM

常常遇到客戶說的,幾個電腦的小問題,關鍵時候非常麻煩。總結下有以下幾種。檔案無法複製到USB可能是因為USB隨身碟的分割格式是FAT32而不是NTFS。你可以嘗試將U盤的分割區格式改為NTFS,這樣就可以複製大檔案了。第二種,圖片顯示不是縮圖,找圖非得一張張點開看。第三種,頁面突然變大變小。這三種情況不知道,簡單的幾個操作就可以解決。一、把U盤分區改成NTFS新購買的U盤預設分區格式一般是FAT32,一般情況下使用是沒有問題的。但是當需要複製大於4G的檔案時,會出現無法複製的提示,這給使用帶來了一些麻煩。為

See all articles