php图片缩放实现方法

php图片缩放实现方法

这篇文章主要介绍了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),

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

= 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);

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

<2>类型的控制。