麻辣堂|资源主站|开发论坛|在线手册
首页 Apache Linux Java MySQL 注册帮助 
PHP项目开发组是PHP开发资源网于2007组年建成立的项目开发团队,目前核心开发成员有27人, 项目协作成员8名.下设7个开发组,主要承接大/中型网站项目开发任务。

    由于开发任务较多,人员比较紧张,现面向社会招聘全职或者兼职开发人员,不管你是在校大学生,还是全职开发人员,以及SOHO都可以联系本站,我们可以长期合作,并为您带来丰厚的报酬。
  您现在的位置:PHP开发资源网 > 麻辣堂 > 详细资料
待解决
[菜鸟共享]利用php的gd库生成缩略图
悬赏分:20 - 2007年08月17日

以前写过的。改了一下。
多多指教

[PHP]
<?PHP
class HanroadClass
{
/**********************
利用PHP的GD库生成缩略图。
支持图片格式:jpg,gif,png

$source_img: 源图象完整路径
$target_dir: 目标图象目录
$target_name: 目标图象名称
$new_width: 目标图象宽
$new_height: 目标图象高
$if_cut: 是否裁图
1(裁图): 裁图则按设置的大小生成目标图象
0(不裁): 不裁则按比例生成目标图象
---------------------
QQ:382399212
MSN:daniel_chnn@hotmail.com
**********************/
function HrResize($source_img,$target_dir,$target_name,$new_width,$new_height,$if_cut)
{
//图片类型
$img_type = strtolower(substr(strrchr($source_img,"."),1));

//图象的完整目标路径
$tar_url = $target_dir."/".$target_name.".".$img_type;

//初始化图象
if($img_type=="jpg") $temp_img = imagecreatefromjpeg($source_img);
if($img_type=="gif") $temp_img = imagecreatefromgif($source_img);
if($img_type=="png") $temp_img = imagecreatefrompng($source_img);

//原始图象的宽和高
$old_width = imagesx($temp_img);
$old_height = imagesy($temp_img);

//改变前后的图象的比例
$new_ratio = $new_width/$new_height;
$old_ratio = $old_width/$old_height;

//生成新图象的参数
//情况一:裁图 则按设置的大小生成目标图象
if($if_cut=="1")
{
$new_width = $new_width;
$new_height = $new_height;
//高度优先
if($old_ratio>=$new_ratio)
{
$old_width = $old_height*$new_ratio;
$old_height = $old_height;
}
//宽度优先
else
{
$old_width = $old_width;
$old_height = $old_width/$new_ratio;
}
}
//情况二:不裁图 则按比例生成目标图象
else
{
$old_width = $old_width;
$old_height = $old_height;
//高度优先
if($old_ratio>=$new_ratio)
{
$new_width = $new_width;
$new_height = $new_width/$old_ratio;
}
//宽度优先
else
{
$new_width = $new_height*$old_ratio;
$new_height = $new_height;
}
}
//生成新图片
$new_img = imagecreatetruecolor($new_width,$new_height);
imagecopyresampled($new_img,$temp_img,0,0,0,0,$new_width,$new_height,$old_width,$old_height);

if($img_type=="jpg") imagejpeg($new_img,$tar_url);
if($img_type=="gif") imagegif($new_img,$tar_url);
if($img_type=="png") imagepng($new_img,$tar_url);
}
}
?>
[/PHP]

提问者:antPlus   08-17 15:03
答复
路过。。。顺便帮顶:)
回答者:玉米づ冰冻可乐 - 瓦岗村民 8-22 09:10
我也来回答:
不管你有没有帮助我们,瓦岗寨8万村民将感谢你。。。。。

为防止灌水,您需要计算一道数学题: 答案:
7 + 46 = ? 请将计算结果填在上面

 
[]
©2007 PhpRes.COM