手机
当前位置:查字典教程网 >编程开发 >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#中Array与ArrayList用法及转换的方法

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

python实现AutoResetEvent类的阻塞模式方法解析

利用thrift实现js与C#通讯的实例代码

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

C# 调用Delphi dll 实例代码

.net使用Aspose.Words进行Word替换操作的实现代码

对指定的网页进行截图的效果 C#版

解析C#中用Process类杀死进程,执行命令的深入分析

精品推荐
分类导航