php生成圖片縮略圖功能示例
php生成圖片縮略圖功能,結(jié)合完整實例形式分析了php縮略圖生成的詳細(xì)步驟與相關(guān)實現(xiàn)技巧,需要的朋友可以參考下。
本文實例講述了php生成圖片縮略圖功能。分享給大家供大家參考,具體如下:
完整代碼如下(為方便閱讀,代碼使用/pic/code/phpformat進行了格式化處理):
<?php
/*
* Created on 2011-3-18
*
* To change the template for this generated file go to
* Window - Preferences - PHPeclipse - PHP - Code Templates
*/
/*構(gòu)造函數(shù)-生成縮略圖+水印,參數(shù)說明:
$srcFile-圖片文件名,
$dstFile-另存文件名,
$markwords-水印文字,
$markimage-水印圖片,
$dstW-圖片保存寬度,
$dstH-圖片保存高度,
$rate-圖片保存品質(zhì)*/
makethumb("1.jpg", "aa/b.jpg", "50", "50");
function makethumb($srcFile, $dstFile, $dstW, $dstH, $rate = 100, $markwords = null, $markimage = null) {
$data = GetImageSize($srcFile);
switch ($data[2]) {
case 1:
$im = @ImageCreateFromGIF($srcFile);
break;
case 2:
$im = @ImageCreateFromJPEG($srcFile);
break;
case 3:
$im = @ImageCreateFromPNG($srcFile);
break;
}
if (!$im) return False;
$srcW = ImageSX($im);
$srcH = ImageSY($im);
$dstX = 0;
$dstY = 0;
if ($srcW * $dstH > $srcH * $dstW) {
$fdstH = round($srcH * $dstW / $srcW);
$dstY = floor(($dstH - $fdstH) / 2);
$fdstW = $dstW;
} else {
$fdstW = round($srcW * $dstH / $srcH);
$dstX = floor(($dstW - $fdstW) / 2);
$fdstH = $dstH;
}
$ni = ImageCreateTrueColor($dstW, $dstH);
$dstX = ($dstX < 0) ? 0 : $dstX;
$dstY = ($dstX < 0) ? 0 : $dstY;
$dstX = ($dstX > ($dstW / 2)) ? floor($dstW / 2) : $dstX;
$dstY = ($dstY > ($dstH / 2)) ? floor($dstH / s) : $dstY;
$white = ImageColorAllocate($ni, 255, 255, 255);
$black = ImageColorAllocate($ni, 0, 0, 0);
imagefilledrectangle($ni, 0, 0, $dstW, $dstH, $white); /pic/p>
ImageCopyResized($ni, $im, $dstX, $dstY, 0, 0, $fdstW, $fdstH, $srcW, $srcH);
if ($markwords != null) {
$markwords = iconv("gb2312", "UTF-8", $markwords);
/pic/p>
ImageTTFText($ni, 20, 30, 450, 560, $black, "simhei.ttf", $markwords); /pic/p>
/pic/p>
} elseif ($markimage != null) {
$wimage_data = GetImageSize($markimage);
switch ($wimage_data[2]) {
case 1:
$wimage = @ImageCreateFromGIF($markimage);
break;
case 2:
$wimage = @ImageCreateFromJPEG($markimage);
break;
case 3:
$wimage = @ImageCreateFromPNG($markimage);
break;
}
imagecopy($ni, $wimage, 500, 560, 0, 0, 88, 31); /pic/p>
imagedestroy($wimage);
}
ImageJpeg($ni, $dstFile, $rate);
ImageJpeg($ni, $srcFile, $rate);
imagedestroy($im);
imagedestroy($ni);
}
?>
【php生成圖片縮略圖功能示例】相關(guān)文章:
PHP生成圖片縮略圖類示例代碼03-08
php生成圖片縮略圖的方法07-25
php上傳圖片生成縮略圖02-17
PHP生成縮略圖的方法03-17
php生成高清縮略圖實例02-05
PHP生成縮略圖的類的方法08-05
php生成縮略圖的兩種方法02-12
php生成縮略圖的兩種方法(代碼)11-03
- 相關(guān)推薦