php简单缩略图类|image.class.php
使用方法:
$img = new iamge;
$img->resize('dstimg.jpg', 'srcimg.jpg', 300, 400);
说明:这个是按照比例缩放,dstimg.jpg是目标文件,srcimg.jpg是源文件,后面的是目标文件的宽和高
$img->thumb('dstimg.jpg', 'scrimg.jpg', 300, 300);
说明:这个是按照比例缩略图,比如常用在头像缩略图的时候,dstimg.jpg是目标文件,srcimg.jpg是源文件,后面的是目标文件的宽和高
这个是针对GD库才这样麻烦的,如果采用Imagick的话,就只需要两个函数就实现上面的功能,去查下文档就找到了。
class image{
public function resize($dstImg, $srcImg, $dstW, $dstH){
list($srcW, $srcH) = getimagesize($srcImg);
$scale = min($dstW/$srcW, $dstH/$srcH);
$newW = round($srcW * $scale);
$newH = round($srcH * $scale);
$newImg = imagecreatetruecolor($newW, $newH);
$srcImg = imagecreatefromjpeg($srcImg);
imagecopyresampled($newImg, $srcImg, 0, 0, 0, 0, $newW, $newH, $srcW, $srcH);
imagejpeg($newImg, $dstImg);
}
public function thumb($dstImg, $srcImg, $dstW, $dstH){
list($srcW, $srcH) = getimagesize($srcImg);
$scale = max($dstW/$srcW, $dstH/$srcH);
$newW = round($dstW/$scale);
$newH = round($dstH/$scale);
$x = ($srcW - $newW)/2;
$y = ($srcH - $newH)/2;
$newImg = imagecreatetruecolor($dstW, $dstH);
$srcImg = imagecreatefromjpeg($srcImg);
imagecopyresampled($newImg, $srcImg, 0, 0, $x, $y, $dstW, $dstH, $newW, $newH);
imagejpeg($newImg, $dstImg);
}
}
function createFromType($type, $srcImg){
$function = "imagecreatefrom$type";
return $function($srcImg);
}
//为了解决不同图片格式的问题

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

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

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

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

ホットトピック

PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

CakePHP でデータベースを操作するのは非常に簡単です。この章では、CRUD (作成、読み取り、更新、削除) 操作について理解します。

ファイルのアップロードを行うには、フォーム ヘルパーを使用します。ここではファイルアップロードの例を示します。

CakePHP は、PHP 用のオープンソース フレームワークです。これは、アプリケーションの開発、展開、保守をより簡単にすることを目的としています。 CakePHP は、強力かつ理解しやすい MVC のようなアーキテクチャに基づいています。モデル、ビュー、コントローラー
