ホームページ バックエンド開発 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 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Win11 でタスクバーのサムネイル プレビューを無効にする方法は? マウスを移動してタスクバー アイコンのサムネイル表示テクニックをオフにする Win11 でタスクバーのサムネイル プレビューを無効にする方法は? マウスを移動してタスクバー アイコンのサムネイル表示テクニックをオフにする Feb 29, 2024 pm 03:20 PM

この記事では、Win11システムでタスクバーアイコンをマウスで移動したときに表示されるサムネイル機能をオフにする方法を紹介します。この機能はデフォルトでオンになっており、ユーザーがタスクバー上のアプリケーション アイコンの上にマウス ポインタを置くと、アプリケーションの現在のウィンドウのサムネイルが表示されます。ただし、一部のユーザーは、この機能があまり役に立たない、またはエクスペリエンスに悪影響を与えると感じ、オフにしたい場合があります。タスクバーのサムネイルは楽しい場合もありますが、気が散ったり煩わしい場合もあります。この領域にマウスを移動する頻度を考えると、重要なウィンドウを誤って閉じてしまったことが何度かある可能性があります。もう 1 つの欠点は、より多くのシステム リソースを使用することです。そのため、リソース効率を高める方法を探している場合は、それを無効にする方法を説明します。しかし

Windows 11 22H2 でフォルダーのサムネイルをカスタマイズする方法 Windows 11 22H2 でフォルダーのサムネイルをカスタマイズする方法 Apr 30, 2023 pm 04:52 PM

Windows 1122H2 は、Windows 11 の最初の機能アップデートであり、大量の新機能と切望されている改善点をもたらします。改善点の 1 つは、フォルダー内のファイルのフォルダー サムネイルをプレビューできる機能です。 Windows 11 のフォルダーのサムネイルの外観が気に入らない場合は、次の方法で変更できます。 Windows 11 のフォルダー サムネイル用のカスタム アイコンのセット (Reddit の LEXX911 提供)。プレビューを拡大したり、フォルダー アイコンのスタイルを変更したりできます。個々のファイルのプレビューを扱う必要はありますが (たとえば、Windows 7 では、フォルダーのサムネイルに複数の画像を同時に表示できます)、プレビューをより大きくしてより便利にすることができます。重要なヒント:

Vscode でサムネイルを表示する方法_Vscode でサムネイルを表示する方法 Vscode でサムネイルを表示する方法_Vscode でサムネイルを表示する方法 Apr 02, 2024 pm 02:43 PM

1. まずVisual Studio Codeを入力し、左上の[ファイル]をクリックします。 2. [環境設定]をクリックします。 3. [設定]項目をクリックします。 4. [テキストエディタ-サムネイル]をクリックします。 5. 最後に、サムネイル項目の[サムネイルを表示するかどうか制御]をオンにします。

PHPでのGDライブラリ操作ガイド PHPでのGDライブラリ操作ガイド May 20, 2023 pm 02:40 PM

1. GDライブラリとは何ですか? GD ライブラリは、さまざまな画像形式を作成および処理するためのライブラリ関数のセットで、PHP で最もよく使用される画像処理ライブラリの 1 つです。 2. GD ライブラリのインストール CentOS/RedHat に GD ライブラリをインストールします 1. PHP の GD 拡張ライブラリ yuminstallphp-gd をインストールします 2. Web サーバー サービスを再起動します httpdrestart 3. PHP でサポートされている GD ライブラリのバージョンを確認します php-i | Ubunt の grep-igd

php が gd ライブラリを開けない場合はどうすればよいですか? php が gd ライブラリを開けない場合はどうすればよいですか? Nov 18, 2022 am 10:31 AM

php が gd ライブラリを開けない問題の解決策: 1. php.ini 設定ファイルを見つけて開きます; 2. 「extension_dir」の前にあるコメント記号「;」を削除します; 3. その値を次の絶対パスに変更します。 ext フォルダー。

JavaScriptを使用した自動サムネイル生成 JavaScriptを使用した自動サムネイル生成 Jun 16, 2023 pm 12:51 PM

インターネットの発展に伴い、Web ページに写真は欠かせないものになりました。しかし、画像の数が増えると、画像の読み込み速度が非常に重要な問題になります。この問題を解決するために、多くの Web サイトではサムネイルを使用して画像を表示していますが、サムネイルを生成するには専門的な画像処理ツールを使用する必要があり、専門家以外の人にとっては非常に面倒です。その場合、JavaScript を使用してサムネイルの自動生成を実現するのが良い選択になります。 JavaSの使い方

USBドライブ上のサムネイルを表示する方法 USBドライブ上のサムネイルを表示する方法 Feb 12, 2024 pm 08:36 PM

私は、重要なときにコンピューターのちょっとした問題が非常に困るというお客様によく遭遇します。まとめると以下のようなものがあります。ファイルを USB フラッシュ ドライブにコピーできない理由は、USB フラッシュ ドライブのパーティション形式が NTFS ではなく FAT32 である可能性があります。大きなファイルをコピーできるように、USB フラッシュ ドライブのパーティション形式を NTFS に変更してみてください。次に、画像はサムネイルとして表示されないため、画像を 1 つずつクリックして見つける必要があります。 3 番目のタイプは、ページが突然大きくなったり、小さくなったりすることです。これら 3 つの状況が分からない場合でも、いくつかの簡単な操作で解決できます。 1. U ディスクのパーティションを NTFS に変更します 新しく購入した U ディスクのデフォルトのパーティション形式は通常 FAT32 であり、通常の状況では問題なく使用できます。ただし、4G を超えるファイルをコピーする必要がある場合、コピーできないプロンプトが表示され、使用するのに少し苦労します。のために

PHPでサムネイルを生成する手順の詳細な説明 PHPでサムネイルを生成する手順の詳細な説明 Sep 13, 2023 am 08:40 AM

PHP でサムネイルを生成する手順の詳細な説明、具体的なコード例が必要です。インターネットが急速に発展している今日の時代では、写真は Web ページに不可欠な部分ですが、高解像度の写真は多くの帯域幅を占有するだけでなく、ユーザーの Web ページの読み込み速度にも影響します。したがって、多くの場合、画像サイズとファイル サイズを削減するために、元の画像からサムネイルを生成する必要があります。人気のあるサーバー側スクリプト言語として、PHP はサムネイルの生成に使用できる豊富な画像処理機能を提供します。 PHPでサムネイルを生成する手順を詳しく紹介します。

See all articles