手机
当前位置:查字典教程网 >编程开发 >C#教程 >c#利用Grahics进行图片裁剪
c#利用Grahics进行图片裁剪
摘要:最开始用了复制代码代码如下://////裁剪图片/////////"c:images"privateListDefClipImage(str...

最开始用了

复制代码 代码如下:

/// <summary>

/// 裁剪图片

/// </summary>

/// <param name="imagePath"/>

/// <param name="savePath">"c:images"</param>

private List<string> DefClipImage(string imagePath, string savePath)

{

var fileInfo = new FileInfo(imagePath);

if (!fileInfo.Exists)

throw new Exception("图片" + imagePath + "不存在!");

var savePathList = new List<string>();

var spath = savePath + fileInfo.Name.Replace(fileInfo.Extension, string.Empty);

try

{

var bitmap = new Bitmap(imagePath);

var format = bitmap.PixelFormat;

Bitmap cloneBitmap = bitmap.Clone(_cloneRect1, format);

var tempPath = spath + "_1.jpg";

cloneBitmap.Save(tempPath);

savePathList.Add(tempPath);

cloneBitmap.Dispose();

cloneBitmap = bitmap.Clone(_cloneRect2, format);

tempPath = spath + "_2.jpg";

cloneBitmap.Save(tempPath);

savePathList.Add(tempPath);

cloneBitmap.Dispose();

cloneBitmap = bitmap.Clone(_cloneRect3, format);

tempPath = spath + "_3.jpg";

cloneBitmap.Save(tempPath);

savePathList.Add(tempPath);

cloneBitmap.Dispose();

cloneBitmap = bitmap.Clone(_cloneRect4, format);

tempPath = spath + "_4.jpg";

cloneBitmap.Save(tempPath);

savePathList.Add(tempPath);

cloneBitmap.Dispose();

bitmap.Dispose();

return savePathList;

}

catch

{

throw new Exception("图片" + imagePath + "处理失败!");

}

}

但是速度太慢。

后来发现用grahics 会快很多

复制代码 代码如下:

private void test()

{

Bitmap bitmap = new Bitmap(Application.StartupPath + @"Image1.jpg");

var bt = new Bitmap(7500, 3750);

var grahics = Graphics.FromImage(bt);

grahics.DrawImage(bitmap, _cloneRect1, _cloneRect1,GraphicsUnit.Pixel);

bt.Save(Application.StartupPath + "1.jpg");

grahics.DrawImage(bitmap, _cloneRect1, _cloneRect2, GraphicsUnit.Pixel);

bt.Save(Application.StartupPath + "2.jpg");

grahics.DrawImage(bitmap, _cloneRect1, _cloneRect3, GraphicsUnit.Pixel);

bt.Save(Application.StartupPath + "3.jpg");

grahics.DrawImage(bitmap, _cloneRect1, _cloneRect4, GraphicsUnit.Pixel);

bt.Save(Application.StartupPath + "4.jpg");

grahics.Dispose();

bt.Dispose();

}

【c#利用Grahics进行图片裁剪】相关文章:

C#中常使用进度条的代码

c# HttpWebRequest通过代理服务器抓取网页内容应用介绍

C#常用知识点简单回顾(有图有真相)

C# 调用Delphi dll 实例代码

c#生成缩略图的实现方法

C# 手动/自动保存图片的实例代码

C#取得Web程序和非Web程序的根目录的N种取法总结

C#利用ScriptControl动态执行JS和VBS脚本

使用Deflate算法对文件进行压缩与解压缩的方法详解

C#关于反射加载的问题

精品推荐
分类导航