按比例生成缩略图文件及显示缩略图
缩略图|显示
function CreateThumbnail($path,$newFileName,$width=100,$height=100)
{
@$s_img = getimagesize($path);
@$type = $s_img[2];
switch($type)
{
case 1 : @$im = imagecreatefromgif($path);break;
case 2 : @$im = imagecreatefromjpeg($path); break;
case 3 : @$im = imagecreatefrompng($path);break;
default: $im = false;
break;
}
@$s_width = imagesx($im);
@$s_height = imagesy($im);
$sizexy = getScaleImage($path,$width,$height);
$width = $sizexy[0];
$height = $sizexy[1];
if($im)
{
$im2 = imagecreatetruecolor($width,$height);
imagecopyresized ($im2,$im,0,0,0,0,$width,$height,$s_width,$s_height);
imagejpeg($im2,$newFileName);
}
return false;
}
function getScaleImage($image,$perfectWidth,$perfectHeight)
{
if (realpath($image) != false)
{
$sizeArray = getimagesize($image);
$sizeX = $sizeArray[ 0 ] ;
$sizeY = $sizeArray[ 1 ] ;
if ($perfectWidth!=0 && $perfectHeight==0)
{
if ($sizeX>$perfectWidth)
{
$scale = $sizeX/$sizeY ;
$sizeX = $perfectWidth;
$sizeY = floor($sizeX/$scale);
}
}
if ($perfectHeight != 0 && $perfectWidth == 0)
{
if ($sizeY > $perfectHeight)
{
$scale = $sizeY / $sizeX ;
$sizeY = $perfectHeight;
$sizeX = floor($sizeY / $scale);
}
}
if ($perfectHeight != 0 && $perfectWidth != 0)
{
$sizeX = $perfectWidth;
$sizeY = $perfectHeight;
}
$tmp[] = $sizeX;
$tmp[] = $sizeY;
}
else
{
$tmp[] = 0;
}
return $tmp;
}
$tm = getScaleImage("http://www.pushad.com/Info/100_3353.jpg",0,0);
echo "";
foreach ($tm as $v)
{
echo $v."
";
}
//CreateThumbnail("http://www.pushad.com/Info/100_3353.jpg","aa.gif",100,0);
?>
上一篇: Access 连接串
推荐阅读
-
这个生成缩略图代码,想要它按宽度600,然后高度按比例得怎么弄?
-
php resizeimage 部分jpg文件 生成缩略图失败的原因分析及解决办法,
-
一款php按比例生成缩略图代码
-
php 完整图片按比例生成缩略图代码
-
php resizeimage 部分jpg文件 生成缩略图失败的原因分析及解决办法
-
ThinkPHP 5 文件上传及指定宽高生成缩略图公共方法
-
php resizeimage 部分jpg文件 生成缩略图失败的原因分析及解决办法_PHP
-
php resizeimage 部分jpg文件 生成缩略图失败的原因分析及解决办法_PHP
-
这个生成缩略图代码,想要它按宽度600,然后高度按比例得怎么弄?
-
php resizeimage 部分jpg文件 生成缩略图失败的原因分析及解决办法