首页 / C#开发 / 正文

C#/.NET应用程序编程开发中如何实现对图片进行裁剪操作?

2821 2 发布于: 2019-08-23 读完约需3分钟

问题描述

C#/.NET应用程序编程开发中,如何实现对图片进行裁剪操作呢?

方案一

可以使用Graphics.DrawImage类来实现从bitmap位图剪切指定尺寸的图片,C#实现代码如下:

Rectangle cropRect = new Rectangle(...);
Bitmap src = Image.FromFile(fileName) as Bitmap;
Bitmap target = new Bitmap(cropRect.Width, cropRect.Height);

using(Graphics g = Graphics.FromImage(target))
{
   g.DrawImage(src, new Rectangle(0, 0, target.Width, target.Height),
                    cropRect,
                    GraphicsUnit.Pixel);
}

方案二

使用Bitmap类的Clone()方法实现图片的剪切,如下:

private static Image cropImage(Image img, Rectangle cropArea)
{
   Bitmap bmpImage = new Bitmap(img);
   return bmpImage.Clone(cropArea, bmpImage.PixelFormat);
}

方案三

使用Bitmap类以及Graphics类实现的图片裁剪方法,如下:

public static Bitmap cropAtRect(this Bitmap b, Rectangle r)
{
  Bitmap nb = new Bitmap(r.Width, r.Height);
  Graphics g = Graphics.FromImage(nb);
  g.DrawImage(b, -r.X, -r.Y);
  return nb;
}

版权声明:本作品系原创,版权归码友网所有,如未经许可,禁止任何形式转载,违者必究。

上一篇: ASP.NET CORE 入门教程(附源码)

下一篇: C#/.NET应用程序编程开发中如何实现小数的4舍5入并保留的两位有效小数位?

本文永久链接码友网 » C#/.NET应用程序编程开发中如何实现对图片进行裁剪操作?

分享扩散:

发表评论

登录用户才能发表评论, 请 登 录 或者 注册