首页 > 代码库 > 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# 图片裁剪代码
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。