php图像处理函数imagecopyresampled用法详解
本文实例讲述了php图像处理函数imagecopyresampled用法。分享给大家供大家参考,具体如下:
语法
boolimagecopyresampled(resource$dst_image,resource$src_image,int$dst_x,int$dst_y,int$src_x,int$src_y,int$dst_w,int$dst_h,int$src_w,int$src_h)
参数
dst_image
目标图象连接资源。
src_image
源图象连接资源。
dst_x
目标X坐标点。
dst_y
目标Y坐标点。
src_x
源的X坐标点。
src_y
源的Y坐标点。
dst_w
目标宽度。
dst_h
目标高度。
src_w
源图象的宽度。
src_h
源图象的高度。
成功时返回TRUE,或者在失败时返回FALSE。
案例
案例(图像裁减):
<?php
$targ_w=$targ_h=150;//设置目标宽度与高度
$jpeg_quality=90;//图片质量90,满分为100
$src='demo_files/pool.jpg';//被处理的图片
$img_r=imagecreatefromjpeg($src);//获取原图
$dst_r=ImageCreateTrueColor($targ_w,$targ_h);//获取新图
imagecopyresampled($dst_r,$img_r,0,0,$_POST['x'],$_POST['y'],
$targ_w,$targ_h,$_POST['w'],$_POST['h']);//目标图源图目标X坐标点目标Y坐标点源的X坐标点源的Y坐标点目标宽度目标高度源图宽度源图高度
header('Content-type:image/jpeg');
imagejpeg($dst_r,null,$jpeg_quality);//输出图象到浏览器或文件
?>
案例二(重新取样):
<?php
//源文件
$filename='1.jpg';
//设置最大宽高
$width=400;
$height=400;
//Contenttype
header('Content-Type:image/jpeg');
//获取新尺寸
list($width_orig,$height_orig)=getimagesize($filename);
$ratio_orig=$width_orig/$height_orig;
if($width/$height>$ratio_orig){
$width=$height*$ratio_orig;
}else{
$height=$width/$ratio_orig;
}
//重新取样
$image_p=imagecreatetruecolor($width,$height);
$image=imagecreatefromjpeg($filename);
imagecopyresampled($image_p,$image,0,0,0,0,$width,$height,$width_orig,$height_orig);
//输出
imagejpeg($image_p,null,100);
?>
附上上传图片的三种思路
1.选择图片,提交表单,服务器统一处理上传,保存路径
2.选择图片,上传,获取路径,提交表单,保存路径
3.选择图片,上传到服务器,通过某种途径获取到服务器的图片,保存到本地
更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP图形与图片操作技巧汇总》、《PHP基本语法入门教程》、《PHP运算与运算符用法总结》、《php面向对象程序设计入门教程》、《PHP网络编程技巧总结》、《PHP数组(Array)操作技巧大全》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》
希望本文所述对大家PHP程序设计有所帮助。