c#利用Grahics进行图片裁剪
最开始用了
/// <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 + @"\Image\1.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();
}
您可能感兴趣的文章:
- 利用Grahics 进行图片裁剪
- C# 使用Bitmap类进行图片裁剪
- thinkphp5上传图片并利用jcrop插件进行裁剪
- Caffe学习:pycaffe利用caffemodel进行分类=>裁剪图片
- Caffe学习:pycaffe利用caffemodel进行分类=>裁剪图片
- 利用C#进行AutoCAD的二次开发(转)
- 利用Javascript裁剪图片并存储的简单实现
- 简单的C#进行图片操作
- C#图像处理——2(使用Bitmap类进行图片裁剪)
- 利用C#对远程服务进行操作,如MSSQLSERVER等。
- C#下利用高精度计时器进行计时操作【转】
- 在C#中利用SharpZipLib进行文件的压缩和解压缩
- 利用Python3对网易的某个话题进行爬取并保存图片到本地
- C#利用SharpZipLib进行文件的压缩和解压缩
- Flex 中利用Matrix 类的rotate函数对图片进行旋转操作的例子
- 用Quartz2D对图片进行头像圆环裁剪、水印、截屏等处理
- php进行图片裁剪及生成缩略图程序源代码
- C#图片处理示例(裁剪,缩放,清晰度,水印)
- 利用C#转换图片格式及转换为ico
- android与PC,C#与Java 利用protobuf 进行无障碍通讯【Socket】