c#利用Grahics进行图片裁剪_C#教程-查字典教程网
c#利用Grahics进行图片裁剪
c#利用Grahics进行图片裁剪
发布时间:2016-12-28 来源:查字典编辑
摘要:最开始用了复制代码代码如下://////裁剪图片/////////"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#教程学习
    热门C#教程学习
    编程开发子分类