• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

PHP等比例生成缩略图

原作者: [db:作者] 来自: [db:来源] 收藏 邀请
/**
	 * 等比例生成缩略图
	 * @param $imgSrc
	 * @param $resize_width
	 * @param $resize_height
	 * @param $isCut
	 * @author james.ou 2011-11-1
	 */
	public function reSizeImg($imgSrc, $resize_width, $resize_height, $isCut = false) {
		//图片的类型
		$type = substr(strrchr($imgSrc, "."), 1);
		//初始化图象
		if ($type == "jpg") {
			$im = imagecreatefromjpeg($imgSrc);
		}
		if ($type == "gif") {
			$im = imagecreatefromgif($imgSrc);
		}
		if ($type == "png") {
			$im = imagecreatefrompng($imgSrc);
		}
		//目标图象地址
		$full_length = strlen($imgSrc);
		$type_length = strlen($type);
		$name_length = $full_length - $type_length;
		$name = substr($imgSrc, 0, $name_length - 1);
		$dstimg = $name . "_s." . $type;

		$width = imagesx($im);
		$height = imagesy($im);

		//生成图象
		//改变后的图象的比例
		$resize_ratio = ($resize_width) / ($resize_height);
		//实际图象的比例
		$ratio = ($width) / ($height);
		if (($isCut) == 1) { //裁图
			if ($ratio >= $resize_ratio) { //高度优先
				$newimg = imagecreatetruecolor($resize_width, $resize_height);
				imagecopyresampled($newimg, $im, 0, 0, 0, 0, $resize_width, $resize_height, (($height) * $resize_ratio), $height);
				ImageJpeg($newimg, $dstimg);
			}
			if ($ratio < $resize_ratio) { //宽度优先
				$newimg = imagecreatetruecolor($resize_width, $resize_height);
				imagecopyresampled($newimg, $im, 0, 0, 0, 0, $resize_width, $resize_height, $width, (($width) / $resize_ratio));
				ImageJpeg($newimg, $dstimg);
			}
		} else { //不裁图
			if ($ratio >= $resize_ratio) {
				$newimg = imagecreatetruecolor($resize_width, ($resize_width) / $ratio);
				imagecopyresampled($newimg, $im, 0, 0, 0, 0, $resize_width, ($resize_width) / $ratio, $width, $height);
				ImageJpeg($newimg, $dstimg);
			}
			if ($ratio < $resize_ratio) {
				$newimg = imagecreatetruecolor(($resize_height) * $ratio, $resize_height);
				imagecopyresampled($newimg, $im, 0, 0, 0, 0, ($resize_height) * $ratio, $resize_height, $width, $height);
				ImageJpeg($newimg, $dstimg);
			}
		}
		ImageDestroy($im);
	}

  


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
PHP网站页面静态化的生成方法介绍发布时间:2022-07-10
下一篇:
PHP实现KMP算法发布时间:2022-07-10
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap