Home > Backend Development > PHP Tutorial > 这个生成缩略图代码,想要它按宽度600,然后高度按比例得怎么弄?

这个生成缩略图代码,想要它按宽度600,然后高度按比例得怎么弄?

WBOY
Release: 2016-06-13 12:26:04
Original
945 people have browsed it

这个生成缩略图代码,想要它按宽度600,然后高度按比例得如何弄????
代码是网上的,作者注明说可以按比例!
但是我将高度设置为0,它就不行。。只能设置固定!
现在想弄宽度600,高度就按比例。得如何弄???

<br /><?php<br />/**<br /> * 生成缩略图函数(支持图片格式:gif、jpeg、png和bmp)<br /> * @author ruxing.li<br /> * @param  string $src      源图片路径<br /> * @param  int    $width    缩略图宽度(只指定高度时进行等比缩放)<br /> * @param  int    $width    缩略图高度(只指定宽度时进行等比缩放)<br /> * @param  string $filename 保存路径(不指定时直接输出到浏览器)<br /> * @return bool<br /> */<br />function mkThumbnail($src, $width = null, $height = null, $filename = null) {<br />    if (!isset($width) && !isset($height))<br />        return false;<br />    if (isset($width) && $width <= 0)<br />        return false;<br />    if (isset($height) && $height <= 0)<br />        return false;<br /><br />    $size = getimagesize($src);<br />    if (!$size)<br />        return false;<br /><br />    list($src_w, $src_h, $src_type) = $size;<br />    $src_mime = $size['mime'];<br />    switch($src_type) {<br />        case 1 :<br />            $img_type = 'gif';<br />            break;<br />        case 2 :<br />            $img_type = 'jpeg';<br />            break;<br />        case 3 :<br />            $img_type = 'png';<br />            break;<br />        case 15 :<br />            $img_type = 'wbmp';<br />            break;<br />        default :<br />            return false;<br />    }<br /><br />    if (!isset($width))<br />        $width = $src_w * ($height / $src_h);<br />    if (!isset($height))<br />        $height = $src_h * ($width / $src_w);<br /><br />    $imagecreatefunc = 'imagecreatefrom' . $img_type;<br />    $src_img = $imagecreatefunc($src);<br />    $dest_img = imagecreatetruecolor($width, $height);<br />    imagecopyresampled($dest_img, $src_img, 0, 0, 0, 0, $width, $height, $src_w, $src_h);<br /><br />    $imagefunc = 'image' . $img_type;<br />    if ($filename) {<br />        $imagefunc($dest_img, $filename);<br />    } else {<br />        header('Content-Type: ' . $src_mime);<br />        $imagefunc($dest_img);<br />    }<br />    imagedestroy($src_img);<br />    imagedestroy($dest_img);<br />    return true;<br />}<br /><br />//这里设置图片为600x按比例得如何弄?<br /><br />$result = mkThumbnail('1.JPG', 600, 300,'2.jpg');<br />?><br />
Copy after login

------解决思路----------------------
$result = mkThumbnail('1.JPG', 600, null, '2.jpg');

他不是说的很清楚了吗?
 * @param  int    $width    缩略图宽度(只指定高度时进行等比缩放)
 * @param  int    $width    缩略图高度(只指定宽度时进行等比缩放)

Related labels:
source:php.cn
Statement of this Website
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
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template