问题描述:制作上传头像缩略图,希望图片能够等比例剪切,类似豆瓣的头像上传功能...

搜索答案:本来以为这样的问题应该很好搜答案,baidu google搜了一遍发现都是直接制作缩略的,没有剪切的功能。因为一直做web,很少用到gdi+的类库,只是了解点而已,按照制作缩略图的方法简单改一下就解决了。

解决代码:

 

System.Drawing.Image newImage = System.Drawing.Image.FromFile(Server.MapPath(”upimages / 1 .gif”));
   Bitmap b
= new  Bitmap( 50 , 50 );
   Graphics g
= Graphics.FromImage(b);
   
int  photoWidth = newImage.Width;
   
int  photoHeight = newImage.Height;
   
int  x = 50 ,y = 50 ;
   
int  x1 = 50 ;
   
if  ((photoWidth - photoHeight) > 0 )
   {
    y
= 0 ;
    x
= (photoWidth - photoHeight) / 2 ;

    x1
= photoHeight;
   }
   
else
   {
    x
= 0 ;
    y
= (photoHeight - photoWidth) / 2 ;
    x1
= photoWidth;
   }
   GraphicsUnit units 
=  GraphicsUnit.Pixel;
   g.InterpolationMode 
=  System.Drawing.Drawing2D.InterpolationMode.HighQualityBilinear;
   g.DrawImage(newImage, 
new  Rectangle( 0 0 , b.Width, b.Height),x, y, x1,x1, units);
   b.Save(Server.MapPath(”
11 .jpg”));

 

 代码很简单 就不用解释了。

备注: 为什么要把这么简单的方法写个blog呢,还是由于豆瓣的缘故,在豆瓣出现之前做头像的很少象这样直接把客户上传的图片切割的,可能是为了用户图片的完整性吧,但是豆瓣大胆的用这种简单的方法,达到了更好的效果,图片更容易被人看清楚,而且也增加了用户头像的个性。

有时候技术其实不是最主要的,一个很好的思路就能带动网站的发展。

下篇研究mop的头像上传功能,也是一个很简单的功能,但是达到了比豆瓣更加直观的效果。敬请期待

转载于:https://www.cnblogs.com/jueban/archive/2007/11/02/946491.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值