转换图片的高度和宽度 - ConvertWidthHeightClass

2017-02-02 19:02:27  访问(3209) 赞(0) 踩(0)

  • 
    
        /// <summary>
        /// 转换图片的高度和宽度
        /// </summary>
        /// <param name="cur">当前图片的高度和宽度</param>
        /// <param name="allow">页面允许的图片的最大高度和最大宽度</param>
        /// <returns></returns>
        public WidthHeightClass ConvertWidthHeightClass
            (
                WidthHeightClass cur,
                WidthHeightClass allow
            )
        {
            int returnHeight = -1;
            int returnWidth = -1;
    
            if (cur.Width <= allow.Width)
            {
                if (cur.Height <= allow.Height)
                    return cur;
    
                returnHeight = allow.Height;
    
                returnWidth = (cur.Width * allow.Height) / cur.Height;
    
                return new WidthHeightClass(returnWidth, returnHeight);
            }
            else
            {
                if (cur.Height <= allow.Height)
                {
                    returnWidth = allow.Width;
    
                    returnHeight = (cur.Height * allow.Width) / cur.Width;
    
                    return new WidthHeightClass(returnWidth, returnHeight);
                }
                else
                {
                    returnWidth = allow.Width;
    
                    returnHeight = (cur.Height * allow.Width) / cur.Width;
    
                    if (returnHeight > allow.Height)
                    {
                        returnHeight = allow.Height;
    
                        returnWidth = (cur.Width * allow.Height) / cur.Height;
                    }
    
                    return new WidthHeightClass(returnWidth, returnHeight);
                }
            }
        }
    

  •     /// <summary>
        /// 宽和高的结构
        /// </summary>
        [Serializable]
        public class WidthHeightClass
        {
            /// <summary>
            /// 宽和高的结构
            /// </summary>
            public WidthHeightClass()
            {
    
            }
    
            /// <summary>
            /// 宽和高的结构
            /// </summary>
            /// <param name="_Width"></param>
            /// <param name="_Height"></param>
            public WidthHeightClass(int _Width, int _Height)
            {
                m_Width = _Width;
    
                m_Height = _Height;
            }
    
            /// <summary>
            /// 宽
            /// </summary>
            protected int m_Width = 0;
    
            /// <summary>
            /// 宽
            /// </summary>
            public int Width
            {
                get
                {
                    return m_Width;
                }
                set
                {
                    m_Width = value;
                }
            }
    
            /// <summary>
            /// 高
            /// </summary>
            protected int m_Height = 0;
    
            /// <summary>
            /// 高
            /// </summary>
            public int Height
            {
                get
                {
                    return m_Height;
                }
                set
                {
                    m_Height = value;
                }
            }
        }
    
    

标签:C#    图片处理    转换图片的高度和宽度    自定义逻辑代码    ConvertWidthHeightClass    WidthHeightClass 

上一条:

下一条:


 

相关评论

评论加载中……
 

发表评论

类型:
内容:
  (Alt+Enter)
 
  ┈全部┈  
 
(显示默认分类)