• 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         }
  • 相关阅读:
    详解java定时任务
    Java之Exception
    Java设计模式
    Java中的static关键字解析
    浅析Java中的final关键字
    深入理解Java的接口和抽象类
    一个故事讲清楚NIO
    Java并发编程:线程池的使用
    Java垃圾回收机制
    ubuntu sublime text 2 破解版
  • 原文地址:https://www.cnblogs.com/wupeihong/p/3919626.html
Copyright © 2020-2023  润新知