C#图片剪裁类

2018-07-20    来源:open-open

容器云强势上线!快速搭建集群,上万Linux镜像随意使用
public class ImageCut
{
    /// <summary>
 
    /// 剪裁 -- 用GDI+
    /// </summary>
    /// <param name="b">原始Bitmap</param>
    /// <param name="StartX">开始坐标X</param>
    /// <param name="StartY">开始坐标Y</param>
 
    /// <param name="iWidth">宽度</param>
    /// <param name="iHeight">高度</param>
    /// <returns>剪裁后的Bitmap</returns>
 
    public Bitmap KiCut(Bitmap b)
    {
        if (b == null)
        {
            return null;
        }
  
        int w = b.Width;
        int h = b.Height;
  
        if (X >= w || Y >= h)
        {
            return null;
        }
  
        if (X + Width > w)
        {
            Width = w - X;
        }
  
        if (Y + Height > h)
        {
            Height = h - Y;
        }
  
        try
        {
            Bitmap bmpOut = new Bitmap(Width, Height, PixelFormat.Format24bppRgb);
  
            Graphics g = Graphics.FromImage(bmpOut);
            g.DrawImage(b, new Rectangle(0, 0, Width, Height), new Rectangle(X, Y, Width, Height), GraphicsUnit.Pixel);
            g.Dispose();
  
            return bmpOut;
        }
        catch
        {
            return null;
        }
    }
  
    public int X = 0;
    public int Y = 0;
    public int Width = 120;
    public int Height = 120;
    public ImageCut(int x, int y, int width, int heigth)
    {
        X = x;
        Y = y;
        Width = width;
        Height = heigth;
    }
}

标签: isp

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点!
本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。

上一篇:C#创建二叉搜索树

下一篇: C#编写的一个反向代理工具,可以缓存网页到本地