PHP简单创建压缩图的方法
内容摘要
本文实例讲述了PHP简单创建压缩图的方法。分享给大家供大家参考,具体如下:
<?php
//创建压缩图
function _create_thumbnail($srcFile, $toW, $toH, $toFile="")
{
if
<?php
//创建压缩图
function _create_thumbnail($srcFile, $toW, $toH, $toFile="")
{
if
文章正文
本文实例讲述了PHP简单创建压缩图的方法。分享给大家供大家参考,具体如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 | <?php //创建压缩图 function _create_thumbnail( $srcFile , $toW , $toH , $toFile = "" ) { if ( $toFile == "" ) { $toFile = $srcFile ; } $info = "" ; $data = getimagesize ( $srcFile , $info ); if (! $data ) return false; //将文件载入到资源变量im中 switch ( $data [2]) { case 1: $im = imagecreatefromgif( $srcFile ); break ; case 2: $im = imagecreatefromjpeg( $srcFile ); break ; case 3: $im = imagecreatefrompng( $srcFile ); break ; } //计算缩略图的宽高 $srcW = imagesx( $im ); $srcH = imagesy( $im ); $toWH = $toW / $toH ; $srcWH = $srcW / $srcH ; if ( $toWH <= $srcWH ) { $ftoW = $toW ; $ftoH = (int)( $ftoW * ( $srcH / $srcW )); } else { $ftoH = $toH ; $ftoW = (int)( $ftoH * ( $srcW / $srcH )); } if (function_exists( "imagecreatetruecolor" )) { $ni = imagecreatetruecolor( $ftoW , $ftoH ); //新建一个真彩色图像 if ( $ni ) { //重采样拷贝部分图像并调整大小 可保持较好的清晰度 imagecopyresampled( $ni , $im , 0, 0, 0, 0, $ftoW , $ftoH , $srcW , $srcH ); } else { //拷贝部分图像并调整大小 $ni = imagecreate( $ftoW , $ftoH ); imagecopyresized( $ni , $im , 0, 0, 0, 0, $ftoW , $ftoH , $srcW , $srcH ); } } else { $ni = imagecreate( $ftoW , $ftoH ); imagecopyresized( $ni , $im , 0, 0, 0, 0, $ftoW , $ftoH , $srcW , $srcH ); } //保存到文件 统一为.png格式 imagepng( $ni , $toFile ); //以 PNG 格式将图像输出到浏览器或文件 ImageDestroy( $ni ); ImageDestroy( $im ); } ?> |
更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP图形与图片操作技巧汇总》、《PHP数组(Array)操作技巧大全》、《PHP数学运算技巧总结》、《php日期与时间用法总结》、《php面向对象程序设计入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》
希望本文所述对大家PHP程序设计有所帮助。
代码注释