php图片上传时的缩放

17 篇文章 0 订阅

1PHP端.图片上传时的缩放(可用于生产缩略图)

$filename="./kl.jpg";

$per=0.1;
list($width, $height)=getimagesize($filename);
$n_w=$width*$per;
$n_h=$height*$per;
$new=imagecreatetruecolor($n_w, $n_h);
$img=imagecreatefromjpeg($filename);
//copy部分图像并调整
imagecopyresized($new, $img,0, 0,0, 0,$n_w, $n_h, $width, $height);
//图像输出新图片、另存为
imagejpeg($new, "pic1.jpg");
imagedestroy($new);

imagedestroy($img);

2.js缩放已上传图片

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>最新javascript自动按比例显示图片,按比例压缩图片显示</title>
<script type="text/javascript">
function AutoResizeImage(maxWidth,maxHeight,objImg){
var img = new Image();
img.src = objImg.src;
var hRatio;
var wRatio;
var Ratio = 1;
var w = img.width;
var h = img.height;
wRatio = maxWidth / w;
hRatio = maxHeight / h;
if (maxWidth ==0 && maxHeight==0){
Ratio = 1;
}else if (maxWidth==0){
if (hRatio<1) Ratio = hRatio;
}else if (maxHeight==0){
if (wRatio<1) Ratio = wRatio;
}else if (wRatio<1 || hRatio<1){
Ratio = (wRatio<=hRatio?wRatio:hRatio);
}
if (Ratio<1){
w = w * Ratio;
h = h * Ratio;
}
objImg.height = h;
objImg.width = w;
}
</script>
</head>
<body>
<br />
<!-- 原图显示(534 X 800)<br /> -->
<!-- οnlοad="AutoResizeImage(0,0,this)<br /> -->
<a target="_blank"><img src="./kl.jpg" border="0" width="0" height="0" οnlοad="AutoResizeImage(0,0,this)" alt="534 X 800"/></a><br/><br />
<!-- 1.按宽度250压缩,不限制高度 按比例压缩<br /> -->
<!-- οnlοad="AutoResizeImage(250,0,this)"<br /> -->
<a><img src="./kl.jpg" border="0" width="0" height="0" οnlοad="AutoResizeImage(250,0,this)"  alt="250 X 374"/></a><br /><br />
<!-- 2.按高度250压缩,不限制宽度 按比例压缩<br /> -->
<!-- οnlοad="AutoResizeImage(0,250,this)"<br /> -->
<a href="http://blog.csdn.net/feng_sundy/archive/2008/06/19/2566028.aspx" target="_blank"><img src="./kl.jpg" border="0" width="0" height="0" οnlοad="AutoResizeImage(0,250,this)"  alt="166 X 250"/></a><br /><br />
<!-- 3.按高度250宽度250 按比例压缩<br /> -->
<!-- οnlοad="AutoResizeImage(250,250,this)"<br /> -->
<a><img src="./kl.jpg" border="0" width="0" height="0" οnlοad="AutoResizeImage(250,250,this)"  alt="200 X 300"/></a><br /><br />
<!-- 4.高宽不等比例压缩 (400 X 512),此时高度不变,会自动按高度的比例压缩。<br /> -->
<!-- οnlοad="AutoResizeImage(400,512,this)"<br /> -->
<a><img src="./kl.jpg" border="0" width="0" height="0" οnlοad="AutoResizeImage(400,512,this)"  alt="341 X 512"/></a><br /><br />
<!-- 5.高宽不等比例压缩 (300 X 600),此时宽度不变,会自动按宽度的比例压缩。<br /> -->
<!-- οnlοad="AutoResizeImage(300,600,this)"<br /> -->
<a><img src="./kl.jpg" border="0" width="0" height="0" οnlοad="AutoResizeImage(300,600,this)"  alt="300 X 449"/></a><br /><br />
<!-- 6.如果图片本来的高度和宽度小于压缩的最大高度和宽度,则不会拉大显示图片(按原图显示)<br /> -->
<!-- 原图444 x 207,压缩为 500 x 600,将保持原图显示<br /> -->
<!-- οnlοad="AutoResizeImage(500,600,this)"<br /> -->
<a><img src="./kl.jpg" border="0" width="0" height="0" οnlοad="AutoResizeImage(500,600,this)"  alt="444 X 207"/></a><br /><br />
</body>
</html>
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值