如何用PHP编写代码获取图片的缩略图?

2026-04-11 03:032阅读0评论SEO资讯
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计570个文字,预计阅读时间需要3分钟。

如何用PHP编写代码获取图片的缩略图?

一种简单的缩略图实现方法 + 一种简单的实现方法 ?php// $file:图片地址// $path:输出路径function thumb($file, $path){ list($width, $height)=getimagesize($file); $ratio=min($width / $path, $height / $path); $new_width=$width / $ratio; $new_height=$height / $ratio; $src_image=imagecreatefromjpeg($file); $dst_image=imagecreatetruecolor($new_width, $new_height); imagecopyresampled($dst_image, $src_image, 0, 0, 0, 0, $new_width, $new_height, $width, $height); imagejpeg($dst_image, $path); imagedestroy($src_image); imagedestroy($dst_image);}$file='test.jpeg';$out_file='thumb_test.jpeg';thumb($file, $out_file);

如何用PHP编写代码获取图片的缩略图?

一种简单的缩略图实现方法

一种简单的实现方法

<?php //$file:图片地址 //Filetype: JPEG,PNG,GIF $file = "test.jpeg"; $out_file = 'thumb_test.jpeg'; function thumb($file,$dw,$dh,$path){//这四个参数分别是1、要缩略的图片,2、画布的宽(也就是你要缩略的宽)3、画布的高(也就是你要缩略的高),4、保存路径) //获取用户名图 $srcImg=getImg($file);//调用下面那个函数,实现根据图片类型来创建不同的图片画布 //获取原图的宽高 $infoSrc=getimagesize($file);//这个getimagesize()是php里面的系统函数用来获取图片的具体信息的 $sw=$infoSrc[0];//获取要缩略图片的宽 $sh=$infoSrc[1];//。。获取要缩略的图片的高 //创建缩略图画布 $destImg=imagecreatetruecolor($dw, $dh); //为缩略图填充背景色 $bg=imagecolorallocate($destImg,250,250,250); imagefill($destImg,0,0,$bg); //计算例缩放的尺寸 if($dh/$dw>$sh/$sw){ $fw=$dw; $fh=$sh/$sw*$fw; }else{ $fh=$dh; $fw=$fh*$sw/$sh; } //居中放置 $dx=($dw-$fw)/2; $dy=($dh-$fh)/2; //创建缩略图 imagecopyresampled($destImg, $srcImg, 0, 0, 0, 0 ,$fw, $fh,$sw, $sh); $baseName='thumb_'.basename($file);//给缩略的图片命名,basename()是系统内置函数用来获取后缀名的 $savePath=$path;//设置缩略图片保存路径 imagejpeg($destImg,$savePath);//把缩略图存放到上一步设置的保存路径里 } function getImg($file){//这是以一个动态创建图片画布的函数(根据具体的图片类型创相应类型的画布) $info=getimagesize($file); $fn=$info['mime'];//获得图片类型; switch($fn){ case 'image/jpeg'://如果类型是imag/jpeg就创建jpeg类型的画布 $img=imagecreatefromjpeg($file); break; case 'image/gif': $img=imagecreatefromgif($file);//如果类型是gif就创建gif类型的画布 case 'image/png': $img=imagecreatefrompng($file);//如果类型是png就创建png类型的画布 break; } return $img;//返回画布类型 } thumb($file,264,480,$out_file); if($fp = fopen($out_file,"rb", 0)) { $gambar = fread($fp,filesize($out_file)); fclose($fp); $base64 = chunk_split(base64_encode($gambar)); // 输出 $encode = '<img src="data:image/jpg/png/gif;base64,' . $base64 .'" >'; echo base64_encode($gambar).PHP_EOL; }

本文共计570个文字,预计阅读时间需要3分钟。

如何用PHP编写代码获取图片的缩略图?

一种简单的缩略图实现方法 + 一种简单的实现方法 ?php// $file:图片地址// $path:输出路径function thumb($file, $path){ list($width, $height)=getimagesize($file); $ratio=min($width / $path, $height / $path); $new_width=$width / $ratio; $new_height=$height / $ratio; $src_image=imagecreatefromjpeg($file); $dst_image=imagecreatetruecolor($new_width, $new_height); imagecopyresampled($dst_image, $src_image, 0, 0, 0, 0, $new_width, $new_height, $width, $height); imagejpeg($dst_image, $path); imagedestroy($src_image); imagedestroy($dst_image);}$file='test.jpeg';$out_file='thumb_test.jpeg';thumb($file, $out_file);

如何用PHP编写代码获取图片的缩略图?

一种简单的缩略图实现方法

一种简单的实现方法

<?php //$file:图片地址 //Filetype: JPEG,PNG,GIF $file = "test.jpeg"; $out_file = 'thumb_test.jpeg'; function thumb($file,$dw,$dh,$path){//这四个参数分别是1、要缩略的图片,2、画布的宽(也就是你要缩略的宽)3、画布的高(也就是你要缩略的高),4、保存路径) //获取用户名图 $srcImg=getImg($file);//调用下面那个函数,实现根据图片类型来创建不同的图片画布 //获取原图的宽高 $infoSrc=getimagesize($file);//这个getimagesize()是php里面的系统函数用来获取图片的具体信息的 $sw=$infoSrc[0];//获取要缩略图片的宽 $sh=$infoSrc[1];//。。获取要缩略的图片的高 //创建缩略图画布 $destImg=imagecreatetruecolor($dw, $dh); //为缩略图填充背景色 $bg=imagecolorallocate($destImg,250,250,250); imagefill($destImg,0,0,$bg); //计算例缩放的尺寸 if($dh/$dw>$sh/$sw){ $fw=$dw; $fh=$sh/$sw*$fw; }else{ $fh=$dh; $fw=$fh*$sw/$sh; } //居中放置 $dx=($dw-$fw)/2; $dy=($dh-$fh)/2; //创建缩略图 imagecopyresampled($destImg, $srcImg, 0, 0, 0, 0 ,$fw, $fh,$sw, $sh); $baseName='thumb_'.basename($file);//给缩略的图片命名,basename()是系统内置函数用来获取后缀名的 $savePath=$path;//设置缩略图片保存路径 imagejpeg($destImg,$savePath);//把缩略图存放到上一步设置的保存路径里 } function getImg($file){//这是以一个动态创建图片画布的函数(根据具体的图片类型创相应类型的画布) $info=getimagesize($file); $fn=$info['mime'];//获得图片类型; switch($fn){ case 'image/jpeg'://如果类型是imag/jpeg就创建jpeg类型的画布 $img=imagecreatefromjpeg($file); break; case 'image/gif': $img=imagecreatefromgif($file);//如果类型是gif就创建gif类型的画布 case 'image/png': $img=imagecreatefrompng($file);//如果类型是png就创建png类型的画布 break; } return $img;//返回画布类型 } thumb($file,264,480,$out_file); if($fp = fopen($out_file,"rb", 0)) { $gambar = fread($fp,filesize($out_file)); fclose($fp); $base64 = chunk_split(base64_encode($gambar)); // 输出 $encode = '<img src="data:image/jpg/png/gif;base64,' . $base64 .'" >'; echo base64_encode($gambar).PHP_EOL; }