zoukankan      html  css  js  c++  java
  • 图片缩放转换类

    在处理图片显示的时候,我们经常会用到图片的缩放功能。


        /// <summary>
        /// 图片大小规格变换工具
        /// </summary>
        public sealed class ZoomPicture
        {
            /// <summary>
            /// 缩放图片
            /// </summary>
            /// <param name="srcPicPath">来源图片文件完整路径</param>
            /// <param name="tagPicPath">目标图片文件完整路径</param>
            /// <param name="width">目标图片宽度</param>
            /// <param name="height">目标图片高度</param>
            public static void SmallPicture(string srcPicPath, string tagPicPath, int width, int height)
            {
                System.Drawing.Bitmap objPic, objNewPic;
                try
                {
                    objPic = new System.Drawing.Bitmap(srcPicPath);
                    objNewPic = new System.Drawing.Bitmap(objPic, width, height);
                    objNewPic.Save(tagPicPath);
                }
                catch (Exception exp)
                {
                    throw exp;
                }
                finally
                {
                    objPic = null;
                    objNewPic = null;
                }
            }
    
            /// <summary>
            /// 按比例缩放图片
            /// </summary>
            /// <param name="srcPicPath">来源图片文件完整路径</param>
            /// <param name="tagPicPath">目标图片文件完整路径</param>
            /// <param name="proportion">缩小比例0~100</param>
            public static void SmallPicture(string srcPicPath, string tagPicPath, int proportion)
            {
    
                System.Drawing.Bitmap objPic, objNewPic;
                try
                {
                    objPic = new System.Drawing.Bitmap(srcPicPath);
                    int width = objPic.Width * proportion / 100;
                    int intHeight = (width / objPic.Width) * objPic.Height;
                    objNewPic = new System.Drawing.Bitmap(objPic, width, intHeight);
                    objNewPic.Save(tagPicPath);
    
                }
                catch (Exception exp)
                {
                    throw exp;
                }
                finally
                {
                    objPic = null;
                    objNewPic = null;
                }
            }
    
            /// <summary>
            /// 按宽度比例缩放图片,自动计算高度
            /// </summary>
            /// <param name="srcPicPath">来源图片文件完整路径</param>
            /// <param name="tagPicPath">目标图片文件完整路径</param>
            /// <param name="intWidth">目标图片宽度</param>
            public static void SmallPictureForWidth(string srcPicPath, string tagPicPath, int intWidth)
            {
    
                System.Drawing.Bitmap objPic, objNewPic;
                try
                {
                    objPic = new System.Drawing.Bitmap(srcPicPath);
                    int intHeight = (intWidth / objPic.Width) * objPic.Height;
                    objNewPic = new System.Drawing.Bitmap(objPic, intWidth, intHeight);
                    objNewPic.Save(srcPicPath);
    
                }
                catch (Exception exp)
                {
                    throw exp;
                }
                finally
                {
                    objPic = null;
                    objNewPic = null;
                }
            }
    
            /// <summary>
            /// 按高度比例缩放图片,自动计算宽度
            /// </summary>
            /// <param name="srcPicPath">来源图片文件完整路径</param>
            /// <param name="tagPicPath">目标图片文件完整路径</param>
            /// <param name="intHeight">目标图片高度</param>
            public static void SmallPictureForHeight(string srcPicPath, string tagPicPath, int intHeight)
            {
    
                System.Drawing.Bitmap objPic, objNewPic;
                try
                {
                    objPic = new System.Drawing.Bitmap(srcPicPath);
                    int intWidth = (intHeight / objPic.Height) * objPic.Width;
                    objNewPic = new System.Drawing.Bitmap(objPic, intWidth, intHeight);
                    objNewPic.Save(tagPicPath);
    
                }
                catch (Exception exp)
                {
                    throw exp;
                }
                finally
                {
                    objPic = null;
                    objNewPic = null;
                }
            }
    
        }




  • 相关阅读:
    (二分查找 拓展) leetcode 69. Sqrt(x)
    (二分查找 拓展) leetcode 162. Find Peak Element && lintcode 75. Find Peak Element
    (链表) lintcode 219. Insert Node in Sorted Linked List
    (二分查找 拓展) leetcode 34. Find First and Last Position of Element in Sorted Array && lintcode 61. Search for a Range
    (最短路 Floyd) P2910 [USACO08OPEN]寻宝之路Clear And Present Danger 洛谷
    (字符串 数组 递归 双指针) leetcode 344. Reverse String
    (二叉树 DFS 递归) leetcode 112. Path Sum
    (二叉树 DFS 递归) leetcode 101. Symmetric Tree
    (二叉树 递归) leetcode 144. Binary Tree Preorder Traversal
    (二叉树 递归 DFS) leetcode 100. Same Tree
  • 原文地址:https://www.cnblogs.com/bbsno1/p/3262770.html
Copyright © 2011-2022 走看看