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

PHP图片裁剪_图片缩放_PHP生成缩略图

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

在制作网页过程中,为了排版整齐美观,对网页中的图片处理成固定大小尺寸的图片,或是要截去图片边角中含有水印的图片,对于图片量多,每天更新大量图,靠人工PS处理是不现实的,那么有没有自动处理图片的程序了!下面介绍的是PHP图片裁剪,缩放功能!

功能介绍:图片裁剪,图片缩放,把源图通过程序导出给定的尺寸;

运用范围:生成文章缩略图,图片裁剪,截去图片水印部分

案例效果:天气预报15天查询 ,(http://tqybw.net)网站中的小图片都是通过PHP代码自动生成的

图格式支持:image/gif, image/jpeg, image/png.

函数功能描术:根据自定义的目标图高宽, 按目标图高宽比裁剪、缩放源图.

function imagecropper($source_path, $target_width, $target_height)
{
	$source_info   = getimagesize($source_path);
	$source_width  = $source_info[0];
	$source_height = $source_info[1];
	$source_mime   = $source_info[\'mime\'];
	$source_ratio  = $source_height / $source_width;
	$target_ratio  = $target_height / $target_width;

	// 源图过高
	if ($source_ratio > $target_ratio)
	{
		$cropped_width  = $source_width;
		$cropped_height = $source_width * $target_ratio;
		$source_x = 0;
		$source_y = ($source_height - $cropped_height) / 2;
	}
	// 源图过宽
	elseif ($source_ratio < $target_ratio)
	{
		$cropped_width  = $source_height / $target_ratio;
		$cropped_height = $source_height;
		$source_x = ($source_width - $cropped_width) / 2;
		$source_y = 0;
	}
	// 源图适中
	else
	{
		$cropped_width  = $source_width;
		$cropped_height = $source_height;
		$source_x = 0;
		$source_y = 0;
	}

	switch ($source_mime)
	{
		case \'image/gif\':
			$source_image = imagecreatefromgif($source_path);
			break;

		case \'image/jpeg\':
			$source_image = imagecreatefromjpeg($source_path);
			break;

		case \'image/png\':
			$source_image = imagecreatefrompng($source_path);
			break;

		default:
			return false;
			break;
	}

	$target_image  = imagecreatetruecolor($target_width, $target_height);
	$cropped_image = imagecreatetruecolor($cropped_width, $cropped_height);

	// 图片裁剪
	imagecopy($cropped_image, $source_image, 0, 0, $source_x, $source_y, $cropped_width, $cropped_height); 
	// 图片缩放
	imagecopyresampled($target_image, $cropped_image, 0, 0, 0, 0, $target_width, $target_height, $cropped_width, $cropped_height);

	header(\'Content-Type: image/jpeg\');
	imagejpeg($target_image);
	imagedestroy($source_image);
	imagedestroy($target_image);
	imagedestroy($cropped_image);
}

  举例说明:

<?php

//源图片地址,大小为500x400;

$image=\'/images/big.jpg\';

//截成100x80的缩略图

imagecropper($image, 100, 80);

?>

此图片功能经修改可以改成很多实用的PHP图片处理功能!大家理解其中的图片函数后就很容易运用了!


鲜花

握手

雷人

路过

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

请发表评论

全部评论

专题导读
上一篇:
【Redis+PHP】利用redis的zset实现游戏排行榜功能发布时间:2022-07-10
下一篇:
PHPWeb2.0开发实战发布时间: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