Home >php教程 >php手册 >PHP生成缩略图的实现

PHP生成缩略图的实现

WBOY
WBOYOriginal
2016-06-06 19:52:201350browse

欢迎进入Linux社区论坛,与200万技术人员互动交流 >>进入 PHP令我们惊喜的就是在图形图象处理方面要忧于ASP,用GD库PHP就可以轻松的实现缩略图。这一篇文章我们的目的就是用GD来生成缩略图,PHP可以把缩略图直接生成输送到浏览器也可以以文件的形式把其存储

欢迎进入Linux社区论坛,与200万技术人员互动交流 >>进入

    PHP令我们惊喜的就是在图形图象处理方面要忧于ASP,用GD库PHP就可以轻松的实现缩略图。这一篇文章我们的目的就是用GD来生成缩略图,PHP可以把缩略图直接生成输送到浏览器也可以以文件的形式把其存储到硬盘当中。

    在生成缩略图的过程当中我们需要用到GD库当中的几个函数:
    getimagesize(string filename [,array var])),取得图像的信息,返回值是一人array,包括几项信息$var[0]----返回图像的width,$var[1]----返回height,[2]返回图像文件的type,[4]返回的是与PHP生成缩略图的实现当中的wdith,height有关的width="",height=""信息。

    imageX(resource image)
    imageY(resource image) 返回图像的宽和高
    imagecopyresized(des img,src img,int des_x,int des_y,int src_x,int src_y,int des_w,int des_h,int src_w,int src_y) 复制并截取区域图像
    imagecreatetruecolor(int width,int height) 创建一个真彩图
    imagejpeg(resource image)
    下面就是Code:
        # Constants
    define(IMAGE_BASE, '/var/www/html/mbailey/images');
    define(MAX_WIDTH, 150);
    define(MAX_HEIGHT, 150);
    # Get image location
    $image_file = str_replace('', '', $_SERVER['QUERY_STRING']);
    $image_path = IMAGE_BASE . "/$image_file";
    # Load image
    $img = null;
    $ext = strtolower(end(explode('.', $image_path)));
    if ($ext == 'jpg' || $ext == 'jpeg') {
    $img = @imagecreatefromjpeg($image_path);
    } else if ($ext == 'png') {
    $img = @imagecreatefrompng($image_path);
    # Only if your version of GD includes GIF support
    } else if ($ext == 'gif') {
    $img = @imagecreatefrompng($image_path);
    }
    # If an image was successfully loaded, test the image for size
    if ($img) {
    # Get image size and scale ratio
    $width = imagesx($img);
    $height = imagesy($img);
    $scale = min(MAX_WIDTH/$width, MAX_HEIGHT/$height);
    # If the image is larger than the max shrink it
    if ($scale     $new_width = floor($scale*$width);
    $new_height = floor($scale*$height);
    # Create a new temporary image
    $tmp_img = imagecreatetruecolor($new_width, $new_height);
    # Copy and resize old image into new image
    imagecopyresized($tmp_img, $img, 0, 0, 0, 0,
    $new_width, $new_height, $width, $height);
    imagedestroy($img);
    $img = $tmp_img;
    }
    }
    # Create error image if necessary
    if (!$img) {
    $img = imagecreate(MAX_WIDTH, MAX_HEIGHT);
    imagecolorallocate($img,0,0,0);
    $c = imagecolorallocate($img,70,70,70);
    imageline($img,0,0,MAX_WIDTH,MAX_HEIGHT,$c2);
    imageline($img,MAX_WIDTH,0,0,MAX_HEIGHT,$c2);
    }
    # Display the image
    header("Content-type: image/jpeg");
    imagejpeg($img);
    ?>

[1] [2] 

PHP生成缩略图的实现

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn