ホームページ >バックエンド開発 >PHPチュートリアル >サムネイルを生成する PHP クラス_PHP チュートリアル
PHP コード
/**
* 機能: サムネイルを生成します
* 著者: phpox
* 日付: Thu May 17 09:57:05 CST 2007
*/
class CreatMiniature
{
//パブリック変数
var $srcFile="" //元の画像
var $echoType ; //出力画像の種類、リンク -- ファイルとして保存しない -- ファイルとして保存
var $srcW=""; // 元の画像の幅
var $srcH=""; //元の画像の高さ
//変数と初期化を設定
function SetVar($srcFile,$echoType)
{
if (!file_exists($srcFile)){
echo ' ソース画像ファイルが存在しません!';
exit();
$this->srcFile=$srcFile;
$info = " ";
$data = GetImageSize($this->srcFile,$info);
switch ($data[2])
{
ケース 1:
if(!function_exists("imagecreatefromgif")) {
echo "GD ライブラリでは GIF 形式の画像を使用できません。Jpeg または PNG 形式を使用してください!Return"; ;
}
$this->im = ImageCreateFromGIF($this->srcFile);
case 2:
if(!function_exists("imagecreatefromjpeg")){
echo " GD ライブラリでは jpeg 形式の画像を使用できません。他の形式の画像を使用してください。Return";
exit();
}
$this->im = ImageCreateFromJpeg($this->srcFile);
ケース 3:
$this->im = ImageCreateFromPNG($this->srcFile); ;
}
$this->srcW=ImageSX($this->im);
$this->srcH=ImageSY($this->im);
//歪んだサムネイル
function Distortion($toFile,$toW,$toH)
{
$cImg=$this->CreatImage($this->im,$toW,$toH,0,0 ,0, 0,$this->srcW,$this->srcH);
return $this->EchoImage($cImg,$toFile);
} //生成スケーリングされたサムネイル
関数 Prorate($toFile,$toW,$toH)
{
$toWH=$toW/$toH;
$srcWH=$this->srcW/$this->srcH;
if($toWH{ $ftoW=$toW; $ftoH=$ftoW*($this->srcH/$this->srcW ); else { $ftoH=$toH; $ftoW=$ftoH*($this->srcW/$this->srcH) } if( $this->srcW> $toW||$this->srcH>$toH) { $cImg=$this->CreatImage($this->im,$ftoW,$ftoH,0 ,0,0,0, $this->srcW,$this->srcH); return $this->EchoImage($cImg,$toFile); else {$cImg=$this->CreatImage($this->im,$this->srcW,$this->srcH,0,0,0,0,$this->srcW,$this- >srcH); return $this->EchoImage($cImg,$toFile); } } //最終サムネイルを生成 関数($toFile,$toW,$toH) { $toWH=$toW/$toH; $srcWH=$this->srcW/$this->srcH ; =$srcWH) { $ctoH=$toH; $ctoW=$ctoH*($this->srcW/$this->srcH); else { $ctoW=$toW; $ctoH=$ctoW*($this->srcH/$this->srcW) } $allImg=$this->CreatImage($this-> im,$ctoW,$ctoH,0,0,0,0,$this->srcW,$this->srcH); $cImg=$this->CreatImage ($allImg,$toW,$) toH,0,0,($ctoW-$toW)/2,($ctoH-$toH)/2,$toW,$toH); return $this->EchoImage ($cImg,$toFile); ImageDestroy($cImg); ImageDestroy($allImg) //背景を埋め込んだサムネイルを生成 function BackFill($toFile,$toW,$toH ,$bk1=255,$bk2=255) ,$bk3=255) { $toWH=$toW/$toH; $srcWH=$this->srcW/$this->srcH;
if($toWH{ $ftoW=$toW; $ftoH=$ftoW*($this->srcH/$this->srcW);
http://www.bkjia.com/PHPjc/446981.html
www.bkjia.com
true
http://www.bkjia.com/PHPjc/446981.html
技術記事
PHP コード?php /*** 機能: サムネイルの生成 * 著者: phpox * 日付: Thu May 17 09:57:05 CST 2007*/ class CreatMiniature { //パブリック変数 var $srcFile="" //元の画像 var $echoType; /...