zoukankan      html  css  js  c++  java
  • 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         }
  • 相关阅读:
    C语言第三次博客作业---单层循环结构
    C语言第二次博客作业---分支结构
    C语言第一次博客作业
    第0次作业
    第09组 Beta冲刺(1/5)
    第09组 Alpha事后诸葛亮
    第09组 Alpha冲刺(6/6)
    第09组 Alpha冲刺(5/6)
    第09组 Alpha冲刺(4/6)
    第09组 Alpha冲刺(3/6)
  • 原文地址:https://www.cnblogs.com/wupeihong/p/3919626.html
Copyright © 2011-2022 走看看