当前位置: 代码迷 >> ASP.NET >> 做网站用户上传图片,大像素时上传后保存在images文件夹,小弟我可以指定100*100显示,可是当要导出图片,小弟我是通过地址去images读,图片又变成很大的
  详细解决方案

做网站用户上传图片,大像素时上传后保存在images文件夹,小弟我可以指定100*100显示,可是当要导出图片,小弟我是通过地址去images读,图片又变成很大的

热度:10003   发布时间:2013-02-25 00:00:00.0
做网站用户上传图片,大像素时上传后保存在images文件夹,我可以指定100*100显示,可是当要导出图片,我是通过地址去images读,图片又变成很大的?
做网站用户上传图片,大像素时上传后保存在images文件夹,我可以指定100*100显示,可是当要导出图片,我是通过地址去images读,图片又变成很大的?
请问有什么解决方案??

------解决方案--------------------------------------------------------
你用放大镜看完东西 东西会变大吗?
------解决方案--------------------------------------------------------
你那个是设定浏览器显示大小,不是真正的缩略图,解决的办法是在上传图片 aaa.jpg 后不但存一个 aaa.jpg 原图,还要存一个真实的100*100的aaa_s.jpg的缩略图。关于图片如何生成缩略图的代码摆渡即可,太多了。
------解决方案--------------------------------------------------------
C# code
    /// <summary>    /// 重新生成特定大小的图像    /// </summary>    /// <param name="fileName">原图路径</param>    /// <param name="path">保存路径</param>    /// <param name="height">要生成的高</param>    /// <param name="width">要生成的宽</param>    void bmpSave(string fileName, string path, int height, int width)    {        //装载图片        System.Drawing.Image image = System.Drawing.Image.FromFile(fileName);        //获取图片的实际宽度与高度        int srcWidth = image.Width;        int srcHeight = image.Height;        if (height != 0 || width != 0)        {            //创建Bitmap对象,并设置Bitmap的宽度和高度。            Bitmap bmp = new Bitmap(width, height);            //从Bitmap创建一个System.Drawing.Graphics对象,用来绘制高质量的缩小图。            System.Drawing.Graphics gr = System.Drawing.Graphics.FromImage(bmp);            //设置 System.Drawing.Graphics对象的SmoothingMode属性为HighQuality            gr.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality;            //下面这个也设成高质量            gr.CompositingQuality = System.Drawing.Drawing2D.CompositingQuality.HighQuality;            //下面这个设成High            gr.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.High;            //把原始图像绘制成上面所设置宽高的缩小图            System.Drawing.Rectangle rectDestination = new System.Drawing.Rectangle(0, 0, width, height);            //暂不理解            gr.DrawImage(image, rectDestination, 0, 0, srcWidth, srcHeight, GraphicsUnit.Pixel);            bmp.Save(path, System.Drawing.Imaging.ImageFormat.Bmp);            image.Dispose();        }    }
------解决方案--------------------------------------------------------
1、自动缩放
2、限定上传尺寸
3、显示时限制显示大小
  相关解决方案