注册 登录  
 加关注
查看详情
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

一车,一房,一个温暖家

10万左右的车,80平方的房子,这是我奋斗的暖暖的家

 
 
 

日志

 
 

引用 .Net上传图片按比例自动缩小或放大   

2015-03-15 20:03:31|  分类: 默认分类 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

.Net上传图片按比例自动缩小或放大

2009-02-13 16:30

//// <summary>

        /// 按比例缩小图片,自动计算宽度

    /// </summary>

        /// <param name="strOldPic">源图文件名(包括路径)</param>

        /// <param name="strNewPic">缩小后保存为文件名(包括路径)</param>

        /// <param name="intHeight">缩小至高度</param>

        public void SmallPicWidth(string strOldPic, string strNewPic, int intHeight)

        {

            System.Drawing.Bitmap objPic, objNewPic;

            try

            {

                objPic = new System.Drawing.Bitmap(strOldPic);

                int intWidth = (intHeight / objPic.Height) * objPic.Width;

                objNewPic = new System.Drawing.Bitmap(objPic, intWidth, intHeight);

                objNewPic.Save(strNewPic);

            }

            catch (Exception exp) { throw exp; }

            finally

            {

                objPic = null;

                objNewPic = null;

            }

        }

/// <summary>

   /// 按比例缩小图片,自动计算高度

   /// </summary>

   /// <param name="strOldPic">源图文件名(包括路径)</param>

   /// <param name="strNewPic">缩小后保存为文件名(包括路径)</param>

   /// <param name="intWidth">缩小至宽度</param>

   public void SmallPic(string strOldPic, string strNewPic, int intWidth)

   {

    System.Drawing.Bitmap objPic,objNewPic;

    try

    {

     objPic = new System.Drawing.Bitmap(strOldPic);

     int intHeight=(intWidth / objPic.Width) * objPic.Height;

     objNewPic=new System.Drawing.Bitmap(objPic,intWidth,intHeight);

     objNewPic.Save(strNewPic);

    }

    catch(Exception exp){throw exp;}

    finally

    {

     objPic=null;

     objNewPic=null;

    }

   }

        /**//// <summary>

        /// 缩小图片

    /// </summary>

        /// <param name="strOldPic">源图文件名(包括路径)</param>

        /// <param name="strNewPic">缩小后保存为文件名(包括路径)</param>

        /// <param name="intWidth">缩小至宽度</param>

        /// <param name="intHeight">缩小至高度</param>

        public void SmallPic(string strOldPic, string strNewPic, int intWidth, int intHeight)

        {

            System.Drawing.Bitmap objPic, objNewPic;

            try

            {

                objPic = new System.Drawing.Bitmap(strOldPic);

                objNewPic = new System.Drawing.Bitmap(objPic, intWidth, intHeight);

                objNewPic.Save(strNewPic);

            }

            catch (Exception exp)

                { throw exp; }

            finally

            {

                objPic = null;

                objNewPic = null;

            }

        }

-----------------------补充-----------------------------------------------------------------------------

以上两个方法注意:

1:当小于1大于0值转化为int型时值会为零,以至上方法中intWidth 为零,即出现Bitmap方法中参数无效现象,故以上方法仅供参考,还需自己数据类型转化;

2:当strOldPic与strNewPic值一致时,即用新大小图片替换旧图片时,原图片对象objPic 需释放,即:objPic.Dispose();

  评论这张
 
阅读(83)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018