本文实例讲述了php简单创建压缩图的方法。分享给大家供大家参考,具体如下:
<?php
//创建压缩图
function _create_thumbnail($srcfile, $tow, $toh, $tofile="")
{
if ($tofile == "")
{
$tofile = $srcfile;
}
$info = "";
$data = getimagesize($srcfile, $info);
if (!$data)
return false;
//将文件载入到资源变量im中
switch ($data[2])
{
case 1:
$im = imagecreatefromgif($srcfile);
break;
case 2:
$im = imagecreatefromjpeg($srcfile);
break;
case 3:
$im = imagecreatefrompng($srcfile);
break;
}
//计算缩略图的宽高
$srcw = imagesx($im);
$srch = imagesy($im);
$towh = $tow / $toh;
$srcwh = $srcw / $srch;
if ($towh <= $srcwh)
{
$ftow = $tow;
$ftoh = (int)($ftow * ($srch / $srcw));
}
else
{
$ftoh = $toh;
$ftow = (int)($ftoh * ($srcw / $srch));
}
if (function_exists("imagecreatetruecolor"))
{
$ni = imagecreatetruecolor($ftow, $ftoh); //新建一个真彩色图像
if ($ni)
{
//重采样拷贝部分图像并调整大小 可保持较好的清晰度
imagecopyresampled($ni, $im, 0, 0, 0, 0, $ftow, $ftoh, $srcw, $srch);
}
else
{
//拷贝部分图像并调整大小
$ni = imagecreate($ftow, $ftoh);
imagecopyresized($ni, $im, 0, 0, 0, 0, $ftow, $ftoh, $srcw, $srch);
}
}
else
{
$ni = imagecreate($ftow, $ftoh);
imagecopyresized($ni, $im, 0, 0, 0, 0, $ftow, $ftoh, $srcw, $srch);
}
//保存到文件 统一为.png格式
imagepng($ni, $tofile); //以 png 格式将图像输出到浏览器或文件
imagedestroy($ni);
imagedestroy($im);
}
?>
更多关于php相关内容感兴趣的读者可查看本站专题:《php图形与图片操作技巧汇总》、《php数组(array)操作技巧大全》、《php数学运算技巧总结》、《php日期与时间用法总结》、《php面向对象程序设计入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》
希望本文所述对大家php程序设计有所帮助。
【说明】:本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:)!