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

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

WBOY
WBOYOriginal
2016-06-13 12:26:04888Durchsuche

这个生成缩略图代码,想要它按宽度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 />

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

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

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn