php基础练习--图片缩放

php基础练习--图片缩放:

<?php

    /**

    * image zoom.

    */

    function imageZoom($filename, $w, $h) {

        /* Arguments meaning */

        /* $filename: the source of the name */

        /* $w: you want get the image's width */

        /* $h: you want get the imgage's height */

        $arr = getimagesize($filename);

        $src_w = $arr[0];

        $src_h = $arr[1];

        $src_t = $arr[2];

        /*1 = GIF,2 = JPG,3 = PNG,4 = SWF,5 = PSD,6 = BMP,7 = TIFF(intel byte order),

        8 = TIFF(motorola byte order),9 = JPC,10 = JP2,11 = JPX,12 = JB2,13 = SWC,

        14 = IFF,15 = WBMP,16 = XBM*/

        $src_m = $arr['mime'];



        $src_img = imagecreatefromjpeg($filename);



        if (($w / $src_w) >($h / $src_h)) {

            $bili = $h / $src_h;

        } else {

            $bili = $w / $src_h;

        }

        $dst_w = $src_w * $bili;

        $dst_h = $src_h * $bili;

        $dst_img = imagecreatetruecolor($dst_w, $dst_h);



        imagecopyresampled($dst_img, $src_img, 0, 0, 0, 0, $dst_w, $dst_h, $src_w, $src_h);



        header("content-type:{$src_m}");



        switch ($src_t) {

            case 1:

                $imgout = "imagegif";

                break;

            case 2:

                $imgout = "imagejpeg";

                break;

            case 3:

                $imgout = "imagepng";

                break;

            default:

                echo "The type was wrong!";

                break;

        }



        $dst_filename = "s_".$filename;

        $imgout($dst_img, $dst_filename);



        imagedestroy($dst_img);

    }

    $filename = 'gg.jpg';

    imageZoom($filename, 100, 200);
View Code

核心:<1>注意缩放比例如何得到,虽然这样得到的图片可能会与预想的有点差别,但是最起码保证了缩放比例。

   <2>类型的控制。

你可能感兴趣的:(php基础)