[实战]MVC5+EF6+MySql企业网盘实战(5)——登录界面,头像等比例压缩

写在前面

关于该项目,已经很久没更新了。实在是找不到一个好的ui,没办法就在网上找了一个还不错的,就凑合着先用着吧,先出第一版,以后的再想着去优化。最近更新与网盘项目相关的内容是准备在项目中使用一个美化的弹出框,所以就使用了bootstrap的modal弹出框。关于如何使用可以参考前面的文章,下面也有链接。

系列文章

[EF]vs15+ef6+mysql code first方式

[实战]MVC5+EF6+MySql企业网盘实战(1)

[实战]MVC5+EF6+MySql企业网盘实战(2)——用户注册

[实战]MVC5+EF6+MySql企业网盘实战(3)——验证码

[实战]MVC5+EF6+MySql企业网盘实战(4)——上传头像

[Bootstrap]modal弹出框

登录界面

在文章最后,将提供源代码,这里就不再贴代码了。

考虑到企业网盘是针对一个企业的,所以这里将用户信息类中的公司字段去掉。还有注册用户信息的时候,将密码进行md5加密保存。

另外为了保证头像的一致性,对图片进行等比例压缩,压缩成100*100格式的图片。

压缩方法:

   /// <summary>
        /// 等比例压缩图片
        /// </summary>
        private void SaveImageByWidthHeight(int intImgCompressWidth, int intImgCompressHeight, Stream stream, string strFileSavePath)
        {
            //从输入流中获取上传的image对象
            using (Image img = Image.FromStream(stream))
            {
                //根据压缩比例求出图片的宽度
                int intWidth = intImgCompressWidth / intImgCompressHeight * img.Height;
                int intHeight = img.Width * intImgCompressHeight / intImgCompressWidth;
                //画布
                using (System.Drawing.Bitmap bitmap = new System.Drawing.Bitmap(img, new Size(intImgCompressWidth, intImgCompressHeight)))
                {
                    //在画布上创建画笔对象
                    using (System.Drawing.Graphics graphics = System.Drawing.Graphics.FromImage(bitmap))
                    {
                        //将图片使用压缩后的宽高,从0,0位置画在画布上
                        graphics.DrawImage(img, 0, 0, intImgCompressWidth, intImgCompressHeight);
                        //保存图片
                        bitmap.Save(strFileSavePath);
                    }
                }
            }
        }

 测试

总结

这里也是熟悉mvc中表单的提交,当然使用ajax来进行无刷新的验证用户体验会更好,下一步将使用无刷新的方式进行用户注册,用户登录的操作。

代码片段:http://pan.baidu.com/s/1i3vXYbb

posted @ 2015-10-12 21:26  wolfy  阅读(1524)  评论(1编辑  收藏  举报