教程集 www.jiaochengji.com
教程集 >  脚本编程  >  php  >  正文 php调整图片宽度与高度的实例代码

php调整图片宽度与高度的实例代码

发布时间:2017-03-22   编辑:jiaochengji.com
分享一例php代码,用于调整图片的宽度与高度,学习下php GD库中图像处理函数的用法,有需要的朋友作个参考。

本节内容:
调整图片宽度与高度

例子:
 

复制代码 代码示例:
<?php 
/**
 * 改变图片的宽高
 * @edit: www.jbxue.com
 * @param string $img_src 原图片的存放地址或url 
 * @param string $new_img_path  新图片的存放地址 
 * @param int $new_width  新图片的宽度 
 * @param int $new_height 新图片的高度
 * @return bool  成功true, 失败false
 */ 
function resize_image($img_src, $new_img_path, $new_width, $new_height) 

    $img_info = @getimagesize($img_src); 
    if (!$img_info || $new_width < 1 || $new_height < 1 || empty($new_img_path)) { 
        return false; 
    } 
    if (strpos($img_info['mime'], 'jpeg') !== false) { 
        $pic_obj = imagecreatefromjpeg($img_src); 
    } else if (strpos($img_info['mime'], 'gif') !== false) { 
        $pic_obj = imagecreatefromgif($img_src); 
    } else if (strpos($img_info['mime'], 'png') !== false) { 
        $pic_obj = imagecreatefrompng($img_src); 
    } else { 
        return false; 
    } 
    $pic_width = imagesx($pic_obj); 
    $pic_height = imagesy($pic_obj); 
    if (function_exists("imagecopyresampled")) { 
        $new_img = imagecreatetruecolor($new_width,$new_height); 
        imagecopyresampled($new_img, $pic_obj, 0, 0, 0, 0, $new_width, $new_height, $pic_width, $pic_height); 
    } else { 
        $new_img = imagecreate($new_width, $new_height); 
        imagecopyresized($new_img, $pic_obj, 0, 0, 0, 0, $new_width, $new_height, $pic_width, $pic_height); 
    } 
    if (preg_match('~.([^.]+)$~', $new_img_path, $match)) { 
        $new_type = strtolower($match[1]); 
        switch ($new_type) { 
            case 'jpg': 
                imagejpeg($new_img, $new_img_path); 
                break; 
            case 'gif': 
                imagegif($new_img, $new_img_path); 
                break; 
            case 'png': 
                imagepng($new_img, $new_img_path); 
                break; 
            default: 
                imagejpeg($new_img, $new_img_path); 
        } 
    } else { 
        imagejpeg($new_img, $new_img_path); 
    } 
    imagedestroy($pic_obj); 
    imagedestroy($new_img); 
    return true; 

 
//调用示例 
$ret = resize_image('/images/www.jbxue.com.gif', 'test.png', '300', '400'); 
var_dump($ret); 

您可能感兴趣的文章:
php等比例缩放图片的示例参考
php不变形缩放图片
php 获取图片宽高等信息详解
jQuery动态改变图片显示大小(示例代码)
php调整图片宽度与高度的实例代码
PHPThumb图片处理实例解析
JS获取图片宽高并根据图片大小自适应
js等比例缩放图片的实现方法
jquery图片不完全按比例自动缩小的简单代码
jQuery实现等比例缩放大图片让大图片自适应页面布局

[关闭]
~ ~