请问ASP.NET上传图片怎样生成指定大小尺寸的缩略图(高和宽比例为4比3的比例)?

时间:2021-03-10 13:42:30
例如上传照片为的高是133,那么宽应当是133X0.75=100,图片高是128,那么宽应当是128X0.75=96.请问能做到这样吗?http://www.loveshelife.com/这个网站的照片是我们上传的照片高是133或者128,但是按网上ThumbnailWidth:略缩图宽 ThumbnailHeight:略缩图高的代码却不能做到这样的效果,请问高手如何解决这个问题?谢谢!!

8 个解决方案

#1


帮顶!关注中!

#2


如果原图不是4:3,只能限制长与宽中超限的一个,按原图的比例缩小,如果强行按4:3,会变形失真的~

#3


你可以参考下我在用的类:
比较完成的上传图片的处理,你可以改改 http://blog.csdn.net/humingyan/archive/2007/06/25/1665704.aspx

#4


强行改比例会很丑的

高的变成矮的,胖子变苗条。。。。

#5


//按比例缩放图片
function DrawImage(obj, MaxW, MaxH){
var imageObject;
if (obj != null) imageObject = obj;
var state=imageObject.readyState;
if(state=='complete') {
var oldImage = new Image();
oldImage.src = imageObject.src;
var dW=oldImage.width; 
var dH=oldImage.height;
if(dW>MaxW || dH>MaxH) {
widthBi=dW/MaxW;
heightBi=dH/MaxH;

if(heightBi>widthBi) widthBi=heightBi;
dW=dW/widthBi;
dH=dH/widthBi;
}
if(dW > 0 && dH > 0) imageObject.width=dW;
imageObject.height=dH;
}
if(state!='complete' || imageObject.width>MaxW || imageObject.height>MaxH) {
setTimeout("ResizeImage(null,"+ MaxW +","+ MaxH +")",40);
}
}

#6


上传我不会,但可以在显示的时候控制比例

#7


找找有这样的控件,可以人家都做好了,还能加水印等等

#8


用图片裁切可以做到指定的宽度

#1


帮顶!关注中!

#2


如果原图不是4:3,只能限制长与宽中超限的一个,按原图的比例缩小,如果强行按4:3,会变形失真的~

#3


你可以参考下我在用的类:
比较完成的上传图片的处理,你可以改改 http://blog.csdn.net/humingyan/archive/2007/06/25/1665704.aspx

#4


强行改比例会很丑的

高的变成矮的,胖子变苗条。。。。

#5


//按比例缩放图片
function DrawImage(obj, MaxW, MaxH){
var imageObject;
if (obj != null) imageObject = obj;
var state=imageObject.readyState;
if(state=='complete') {
var oldImage = new Image();
oldImage.src = imageObject.src;
var dW=oldImage.width; 
var dH=oldImage.height;
if(dW>MaxW || dH>MaxH) {
widthBi=dW/MaxW;
heightBi=dH/MaxH;

if(heightBi>widthBi) widthBi=heightBi;
dW=dW/widthBi;
dH=dH/widthBi;
}
if(dW > 0 && dH > 0) imageObject.width=dW;
imageObject.height=dH;
}
if(state!='complete' || imageObject.width>MaxW || imageObject.height>MaxH) {
setTimeout("ResizeImage(null,"+ MaxW +","+ MaxH +")",40);
}
}

#6


上传我不会,但可以在显示的时候控制比例

#7


找找有这样的控件,可以人家都做好了,还能加水印等等

#8


用图片裁切可以做到指定的宽度