本文实例讲述了php使用GD创建保持宽高比缩略图的方法。具体如下:
/*** Create a thumbnail image from $inputFileName no taller or wider than* $maxSize. Returns the new image resource or false on error.* Author: mthorn.netfunction thumbnail($inputFileName, $maxSize = 100) $info = getimagesize($inputFileName); $type = isset($info[ type ]) ? $info[ type ] : $info[2]; // Check support of file type if ( !(imagetypes() $type) ) // Server does not support file type return false; $width = isset($info[ width ]) ? $info[ width ] : $info[0]; $height = isset($info[ height ]) ? $info[ height ] : $info[1]; // Calculate aspect ratio $wRatio = $maxSize / $width; $hRatio = $maxSize / $height; // Using imagecreatefromstring will automatically detect the file type $sourceImage = imagecreatefromstring(file_get_contents($inputFileName)); // Calculate a proportional width and height no larger than the max size. if ( ($width = $maxSize) ($height = $maxSize) ) // Input is smaller than thumbnail, do nothing return $sourceImage; elseif ( ($wRatio * $height) $maxSize ) // Image is horizontal $tHeight = ceil($wRatio * $height); $tWidth = $maxSize; else // Image is vertical $tWidth = ceil($hRatio * $width); $tHeight = $maxSize; $thumb = imagecreatetruecolor($tWidth, $tHeight); if ( $sourceImage === false ) // Could not load image return false; // Copy resampled makes a smooth thumbnail imagecopyresampled($thumb,$sourceImage,0,0,0,0,$tWidth,$tHeight,$width,$height); imagedestroy($sourceImage); return $thumb;* Save the image to a file. Type is determined from the extension.* $quality is only used for jpegs.* Author: mthorn.netfunction imageToFile($im, $fileName, $quality = 80) if ( !$im || file_exists($fileName) ) return false; $ext = strtolower(substr($fileName, strrpos($fileName, . ))); switch ( $ext ) case .gif : imagegif($im, $fileName); break; case .jpg : case .jpeg : imagejpeg($im, $fileName, $quality); break; case .png : imagepng($im, $fileName); break; case .bmp : imagewbmp($im, $fileName); break; default: return false; return true;$im = thumbnail( temp.jpg , 100);imageToFile($im, temp-thumbnail.jpg
总结:以上就是本篇文的全部内容,希望能对大家的学习有所帮助。
相关推荐:
php针对数据库的读取、判断及session登陆的使用方法
php文件上传所涉及的文件与表单操作及数据库操作
php针对错误处理的常用技巧
郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。
新闻热点
疑难解答