首页 > 代码库 > C# 图片裁剪代码

C# 图片裁剪代码

        /// <summary>        /// 缩小裁剪图片        /// </summary>        /// <param name="int_Width">要缩小裁剪图片宽度</param>        /// <param name="int_Height">要缩小裁剪图片长度</param>        /// <param name="input_ImgUrl">要处理图片路径</param>        /// <param name="out_ImgUrl">处理完毕图片路径</param>        public void ImgReduceCutOut(int int_Width, int int_Height, string input_ImgUrl, string out_ImgUrl)        {            // ===上传标准图大小===            int int_Standard_Width = 160;            int int_Standard_Height = 160;            int Reduce_Width = 0; // 缩小的宽度            int Reduce_Height = 0; // 缩小的高度            int CutOut_Width = 0; // 裁剪的宽度            int CutOut_Height = 0; // 裁剪的高度            int level = 100; //缩略图的质量 1-100的范围            // ===获得缩小,裁剪大小===            if (int_Standard_Height * int_Width / int_Standard_Width > int_Height)            {                Reduce_Width = int_Width;                Reduce_Height = int_Standard_Height * int_Width / int_Standard_Width;                CutOut_Width = int_Width;                CutOut_Height = int_Height;            }            else if (int_Standard_Height * int_Width / int_Standard_Width < int_Height)            {                Reduce_Width = int_Standard_Width * int_Height / int_Standard_Height;                Reduce_Height = int_Height;                CutOut_Width = int_Width;                CutOut_Height = int_Height;            }            else            {                Reduce_Width = int_Width;                Reduce_Height = int_Height;                CutOut_Width = int_Width;                CutOut_Height = int_Height;            }            // ===通过连接创建Image对象===            System.Drawing.Image oldimage = System.Drawing.Image.FromFile(Server.MapPath(input_ImgUrl));            // ===缩小图片===            System.Drawing.Image thumbnailImage = oldimage.GetThumbnailImage(Reduce_Width, Reduce_Height, new System.Drawing.Image.GetThumbnailImageAbort(ThumbnailCallback), IntPtr.Zero);            Bitmap bm = new Bitmap(thumbnailImage);            // ===处理JPG质量的函数===            ImageCodecInfo[] codecs = ImageCodecInfo.GetImageEncoders();            ImageCodecInfo ici = null;            foreach (ImageCodecInfo codec in codecs)            {                if (codec.MimeType == "image/jpeg")                    ici = codec;            }            EncoderParameters ep = new EncoderParameters();            ep.Param[0] = new EncoderParameter(Encoder.Quality, (long)level);            //bm.Save(Server.MapPath("2.jpg"), ici, ep);            // ===裁剪图片===            Rectangle cloneRect = new Rectangle(0, 0, CutOut_Width, CutOut_Height);            PixelFormat format = bm.PixelFormat;            Bitmap cloneBitmap = bm.Clone(cloneRect, format);            // ===保存图片===            cloneBitmap.Save(Server.MapPath(out_ImgUrl), ici, ep);        }

 

C# 图片裁剪代码