使用PHP制作等比例缩放图片

/**
 * 等比缩放
 * @param string $src 用来缩放的原图
 * @param int $w 缩放后的宽度
 * @param string $dir 缩略后的图片保存的目录
 */


function thumbImg($src,$w,$dir='./mypics'){
    //第一步:生成图像资源
    //1)由图片文件生成图像资源(大图)
    $srcInfo=getimagesize($src);
    $srcExt=image_type_to_extension($srcInfo[2],false);
    $srcFun="imagecreatefrom".$srcExt;
    $srcImg=$srcFun($src);
    //创建画布生成图像资源(小图)
    //获取原图的宽高比例
    $scale=imagesx($srcImg)/imagesy($srcImg);
    $h=$w/$scale;
    $desImg=imagecreatetruecolor($w,$h);
    //第二步:操作图像资源
    imagecopyresampled($desImg,$srcImg,0,0,0,0,$w,$h,imagesx($srcImg),imagesy($srcImg)) ;
    //第三步:输出并保存图像资源
    $outFun='image'.$srcExt;
    $outFun($desImg,$dir.'/thumb_'.$w.'_'.basename($src));
    //第四步:销毁图像资源,释放内存
    imagedestroy($desImg);
    imagedestroy($srcImg);
}

你可能感兴趣的:(PHP)