PHP用GD库生成高质量的缩略图片
2015-01-24信息快讯网
PHP用GD库生成高质量的缩略图片,PHP一般情况下生成的缩略图都比较不理想。今天试用PHP,GD库来生成缩略图。虽然并不100%完美。可是也应该可以满足缩略图的要求了。
以下是PHP源代码(ResizeImage.php)。<?php $FILENAME="image.thumb"; // 生成图片的宽度 $RESIZEWIDTH=400; // 生成图片的高度 $RESIZEHEIGHT=400; function ResizeImage($im,$maxwidth,$maxheight,$name){ $width = imagesx($im); $height = imagesy($im); if(($maxwidth && $width > $maxwidth) || ($maxheight && $height > $maxheight)){ if($maxwidth && $width > $maxwidth){ $widthratio = $maxwidth/$width; $RESIZEWIDTH=true; } if($maxheight && $height > $maxheight){ $heightratio = $maxheight/$height; $RESIZEHEIGHT=true; } if($RESIZEWIDTH && $RESIZEHEIGHT){ if($widthratio < $heightratio){ $ratio = $widthratio; }else{ $ratio = $heightratio; } }elseif($RESIZEWIDTH){ $ratio = $widthratio; }elseif($RESIZEHEIGHT){ $ratio = $heightratio; } $newwidth = $width * $ratio; $newheight = $height * $ratio; if(function_exists("imagecopyresampled")){ $newim = imagecreatetruecolor($newwidth, $newheight); imagecopyresampled($newim, $im, 0, 0, 0, 0, $newwidth, $newheight, $width, $height); }else{ $newim = imagecreate($newwidth, $newheight); imagecopyresized($newim, $im, 0, 0, 0, 0, $newwidth, $newheight, $width, $height); } ImageJpeg ($newim,$name . ".jpg"); ImageDestroy ($newim); }else{ ImageJpeg ($im,$name . ".jpg"); } } if($_FILES['image']['size']){ if($_FILES['image']['type'] == "image/pjpeg"){ $im = imagecreatefromjpeg($_FILES['image']['tmp_name']); }elseif($_FILES['image']['type'] == "image/x-png"){ $im = imagecreatefrompng($_FILES['image']['tmp_name']); }elseif($_FILES['image']['type'] == "image/gif"){ $im = imagecreatefromgif($_FILES['image']['tmp_name']); } if($im){ if(file_exists("$FILENAME.jpg")){ unlink("$FILENAME.jpg"); } ResizeImage($im,$RESIZEWIDTH,$RESIZEHEIGHT,$FILENAME); ImageDestroy ($im); } } ?>
以下是测试代码(demo.php)
<?php include('ResizeImage.php'); if(!empty($_POST)){ echo($FILENAME.".jpg?cache=".rand(0,999999)); } ?> <form name="test" action="?submit=true" enctype="multipart/form-data" method="post" > <input type="file" name="image" size="50" value="浏览"><p> <input type="submit" value="上传图片"> </form>
PHP5权威编程阅读学习笔记 附电子书下载
PHP中使用unset销毁变量并内存释放问题
php Ubb代码编辑器函数代码
PHP取整数函数常用的四种方法小结
PHP函数学习之PHP函数点评
PHP序列号生成函数和字符串替换函数代码
PHP图片验证码制作实现分享(全)
PHP图片处理类 phpThumb参数用法介绍
PHPThumb PHP 图片缩略图库
PHP备份数据库生成SQL文件并下载的函数代码
PHP将整个网站生成HTML纯静态网页的方法总结
php摘要生成函数(无乱码)
114啦源码(114la)不能生成地方房产和地方报刊问题4级页面0字节的解决方法
php中通过正则表达式下载内容中的远程图片的函数代码
PHP提取字符串中的图片地址[正则表达式]
利用Ffmpeg获得flv视频缩略图和视频时间的代码
php 缩略图实现函数代码
PHP缩略图等比例无损压缩,可填充空白区域补充色
用php的ob_start来生成静态页面的方法分析
php GeoIP的使用教程
让PHP COOKIE立即生效,不用刷新就可以使用
通过JavaScript或PHP检测Android设备的代码
PHP中uploaded_files函数使用方法详解
PHP $_FILES函数详解
php批量缩放图片的代码[ini参数控制]
兼容性最强的PHP生成缩略图的函数代码(修改版)
Php Image Resize图片大小调整的函数代码
php生成随机密码的几种方法
兼容性比较好的PHP生成缩略图的代码
完美实现GIF动画缩略图的php代码
php下尝试使用GraphicsMagick的缩略图功能
PHP 图片文件上传实现代码
php图片处理:加水印、缩略图的实现(自定义函数:watermark、thumbnail)
《PHP编程最快明白》第七讲:php图片验证码与缩略图
php生成随机密码的三种方法小结
PHP生成excel时单元格内换行问题的解决方法