1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > php实现等比例缩放图片

php实现等比例缩放图片

时间:2019-08-13 05:41:59

相关推荐

php实现等比例缩放图片

封装函数

function thrum($src_file,$des_w,$des_h){

//封装一个图片处理函数(等比例缩放)

// 传入的第一个参数为图片的地址,第二和第三个元素为目的图片的宽高

error_reporting(E_ALL^E_NOTICE^E_WARNING);

//获取图片的类型

$srcarr = getimagesize($src_file);

//处理图片创建函数和图片输出函数

switch($srcarr[2]){

case 1://gif

$imagecreatefrom = 'imagecreatefromgif';

$imageout = 'imagegif';

break;

case 2://jpg

$imagecreatefrom = 'imagecreatefromjpeg';

$imageout = 'imagejpeg';

break;

case 3://png

$imagecreatefrom = 'imagecreatefrompng';

$imageout = 'imagepng';

break;

}

// 创建原图资源

$src_img = $imagecreatefrom($src_file);

//获取原图的宽高

$src_w = imagesx($src_img);

$src_h = imagesy($src_img);

// 计算缩放比例(用原图片的宽高分别处以对应目的图片的宽高,选择比例大的作为基准进行缩放)

$scale = ($src_w/$des_w)>($src_h/$des_h)?($src_w/$des_w):($src_h/$des_h);

//计算实际缩放时目的图的宽高(向下取整)

$des_w = floor($src_w/$scale);

$des_h = floor($src_h/$scale);

//创建画布

$des_img = imagecreatetruecolor($des_w, $des_h);

//设置缩放起点

$des_x = 0;

$des_y = 0;

$src_x = 0;

$src_y = 0;

//缩放

imagecopyresampled($des_img, $src_img, $des_x, $des_y, $src_x, $src_y, $des_w, $des_h, $src_w, $src_h);

//输出图片

//header('content-type:image/jpeg');

//获取源文件的文件名

$t_file = basename($src_file);

// 获取源文件的路径名

$t_dir = dirname($src_file);

// 生成保存文件的文件路径名

$s_file = $t_dir .'/'.'t_'.$t_file;

$imageout($des_img,$s_file);

}

//函数调用

thrum('fj.jpg',500,500);

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。