位置:首页 > PHP > PHP功能函数 > php图片处理函数相关 >

PHP实例代码:使用GD函数库制作缩略图+保存本地

字号+ 作者:micloud 来源:www.seoalphas.com 2018-11-05 07:54 浏览量:1884

<?php
 // $name="./img/1.jpg";
 // $w=300;
 // $h=300;
 // $prefix='thumb_111';
 //缩略前缀,原图保留,缩略图也要保留
 //获取相关参数,计算比例
 function suolue($name, $w,$h,$prefix='thumb_111'){
function getinfo($name){
//getimagesize($dname)函数可以动态的获取图片类型,大小,宽度和高度等
$info=getimagesize($name);
$width=$info[0];
$height=$info[1];
$mime=$info['mime'];
 
switch ($mime) {
case 'image/jpeg':
$res=imagecreatefromjpeg($name);
break;
case 'image/gif':
$res=imagecreatefromgif($name);
break;
case 'image/png':
$res=imagecreatefrompng($name);
break;
case 'image/wbmp':
$res=imagecreatefromwbmp($name);
break;
}
return array('width'=>$width,'height'=>$height,'res'=>$res);
}
 $info=getinfo($name);
$width=$info['width'];
$height=$info['height'];
$res=$info['res'];
//判断图片是横图还是竖图
if($width>$height){
//横图
$b1=$height/$width;
$h=$w*$b1;
}else{
//竖图
$b1=$width/$height;
$w=$h*$b1;
}
//3,创建一个画布,画布的宽度,高度为要锁房的宽度和高度
$img=imagecreatetruecolor($w,$h);
//4,开始把图片重新设置大小
imagecopyresampled($img, $res, 0, 0, 0, 0, $w, $h, $width, $height);
 
//5,输出图像
// header("content-type:image/png");
//5,会趋于扩展名,生成新文件名,保存图像
$ext=pathinfo($name,PATHINFO_EXTENSION);
$rand_name=$prefix.md5(time().mt_rand()).".".$ext;
// imagepng($img);
switch(strtolower($ext)){ 
case 'jpg':
case 'jpeg':
case 'jpe':
imagejpeg($img,$rand_name);
break;
case 'png':
imagepng($img,$rand_name);
break;
case 'gif':
imagegif($img,$rand_name);
break;
case 'bmp':
case 'wbmp':
imagewbmp($img,$rand_name);
break;
}
//销毁资源
imagedestroy($res);
imagedestroy($img);
}


1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • php图片添加文字水印 以及图片合成加水印图片

    php图片添加文字水印 以及图片合成加水印图片

    浏览次数:5746

  • PHP中data/base64数据流转图片文件输出

    PHP中data/base64数据流转图片文件输出

    浏览次数:5144

  • php获取文章中图片img标签方法

    php获取文章中图片img标签方法

    浏览次数:4971

  • PHP 实现等比压缩图片尺寸和大小实例代码

    PHP 实现等比压缩图片尺寸和大小实例代码

    浏览次数:2820

网友点评
评论区域