首页 > 代码库 > C#图像处理(4):图像的剪裁

C#图像处理(4):图像的剪裁

图像的剪裁方法,从中间剪裁返回剪裁后的左右两页,方法实现如下:

 1         /// <summary> 2         /// 图片裁剪,返回左右两页 3         /// </summary> 4         /// <param name="Img">图片</param> 5         /// <param name="RightMargin">从中间剪裁时左边图片向右偏移量</param> 6         /// <param name="LeftMargin">从中间剪裁时右边图片向左偏移量</param> 7         /// <returns>Dictionary</returns> 8         public Dictionary<string, Bitmap> ImgDiv(Image Img, int RightMargin, int LeftMargin) 9         {10             Dictionary<string, Bitmap> DictImg = new Dictionary<string, Bitmap>();11             //获取图片宽高12             int Width = Img.Width;13             int Height = Img.Height;14             //获取图片水平和垂直的分辨率15             float dpiX = Img.HorizontalResolution;16             float dpiY = Img.VerticalResolution;17             //创建一个位图文件18             Bitmap BitmapResult = new Bitmap((Width / 2) + RightMargin, Height, PixelFormat.Format24bppRgb);19             //设置位图文件的水平和垂直分辨率  与Img一致20             BitmapResult.SetResolution(dpiX, dpiY);21             //在位图文件上填充一个矩形框22             Graphics Grp = Graphics.FromImage(BitmapResult);23             System.Drawing.Rectangle Rec = new System.Drawing.Rectangle(0, 0, (Width / 2) + RightMargin, Height);24             Grp.DrawImage(Img, 0, 0, Rec, GraphicsUnit.Pixel);25             //返回位图文件26             Grp.Dispose();27             //获取左边图像28             DictImg["Left"] = BitmapResult;29             //在位图文件上填充一个矩形框30             Bitmap BitmapRight = new Bitmap((Width / 2) + LeftMargin, Height, PixelFormat.Format24bppRgb);31             BitmapRight.SetResolution(dpiX, dpiY);32             Graphics GrpRight = Graphics.FromImage(BitmapRight);33             System.Drawing.Rectangle RecRight = new System.Drawing.Rectangle((Width / 2) - LeftMargin, 0, (Width / 2) + LeftMargin, Height);34             GrpRight.DrawImage(Img, 0, 0, RecRight, GraphicsUnit.Pixel);35             //获取右边图像36             DictImg["Right"] = BitmapRight;37             GrpRight.Dispose();38             GC.Collect();39             //返回位图文件40             return DictImg;41         }