using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Drawing;
using System.Drawing.Drawing2D;
using System.Drawing.Imaging;
/// <summary>
///图片处理类
/// </summary>
public class Images
{
public Images()
{
//
//TODO: 在此处添加构造函数逻辑
//
}
/// <summary>
/// 剪切图片
/// </summary>
/// <param name="path_source">原始图片路径</param>
/// <param name="path_save">目标图片路径</param>
/// <param name="x">剪切位置的左上角x坐标</param>
/// <param name="y">剪切位置的左上角y坐标</param>
/// <param name="width">要剪切的宽度</param>
/// <param name="height">要剪切的高度</param>
public void Cut(string path_source, string path_save, int x, int y, int width, int height)
{
//加载底图
Image img = Image.FromFile(path_source);
int w = img.Width;
int h = img.Height;
//设置画布
width = width >= w ? w : width;
height = height >= h ? h : height;
Bitmap map = new Bitmap(width, height);
//绘图
Graphics g = Graphics.FromImage(map);
g.DrawImage(img, 0, 0, new Rectangle(x,y, width, height), GraphicsUnit.Pixel);
//保存
map.Save(path_save);
}
/// <summary>
/// 生成缩略图
/// </summary>
/// <param name="path_source">原始图片路径</param>
/// <param name="path_save">缩略图路径</param>
/// <param name="times">缩略倍数</param>
/// <param name="b">缩略或放大(true缩略)</param>
public void Thumbnail(string path_source, string path_save, int times, bool b)
{
//加载底图
Image img = Image.FromFile(path_source);
int w = img.Width;
int h = img.Height;
//设置画布
int width = 0;
int height = 0;
if (b)
{
width = w / times;
height = h / times;
}
else
{
width = w * times;
height = h * times;
}
Bitmap map = new Bitmap(width, height);
//绘图
Graphics g = Graphics.FromImage(map);
g.DrawImage(img, 0, 0, width, height);
//保存
map.Save(path_save);
}
/// <summary>
/// 图片合成
/// </summary>
/// <param name="p1">图片1</param>
/// <param name="p2">图片2</param>
/// <param name="path_save">新图片路径</param>
public void Compound(string p1, string p2, string path_save)
{
//加载底图
Image img1 = Image.FromFile(p1);
Image img2 = Image.FromFile(p2);
int w = img1.Width + img2.Width;
int h = img1.Height > img2.Height ? img1.Height : img2.Height;
//设置画布
Bitmap map = new Bitmap(w, h);
//绘图
Graphics g = Graphics.FromImage(map);
g.DrawImage(img1, 0, 0, new Rectangle(0, 0, img1.Width, img1.Height), GraphicsUnit.Pixel);
g.DrawImage(img2, img1.Width, 0, new Rectangle(0, 0, img2.Width, img2.Height), GraphicsUnit.Pixel);
//g.DrawImage(img, 0, 0, new Rectangle(0, 0, width, height), GraphicsUnit.Pixel);
//保存
map.Save(path_save);
}
}
分享到:
相关推荐
c#图像操作之图片缩略图源码.rar
项目实际积累图像处理工具,实现高质量缩略图、压缩优化、图像任意角度旋转、透明水印等功能。博文地址:http://blog.csdn.net/lhtzbj12/article/details/54024821
使用C#实现的图像处理示例,包含图像的缩略图显示,图像的旋转效果,给图像添加水印,图像的压缩等功能,可以通过查看代码和处理效果了解C#图像相关的技术
c#图像操作之缩略图源码.rar
C# 创建缩略图C# 创建缩略图C# 创建缩略图C# 创建缩略图C# 创建缩略图C# 创建缩略图C# 创建缩略图C# 创建缩略图
C#生成缩略图,C#缩略图,C#水印 很不错的
c# winform 加载文件显示缩略图 本人收藏了3年的资源 现放出 都是总结了很多系统 软件项目实施过程中的经验的 慢慢积累的
C# 加载文件夹实现缩略图(Thumbnail)显示,不错。
利用C#语言生成图片的缩略图,有需要可以参考一下。
C#图片处理 图片帮助类 C#缩略图 C#图片水印 效果完美。
网页生成图片 网页快照 网页抓图 网页载图 页面缩略图写的一个类,用时直接调用方法
C# winform生成高质量缩略图,可定义缩略图位置。
多线程程序处理,用户可随时终止压缩过程。 采用两种可选缩略图算法(高速常规质量和低速高质量)。 可选处理日志,确保安全。 功能描述: 在保持纵横比的情况下,产生原图的各种尺寸版本。当然不仅可以缩小,还...
C# 上传图片,生成缩略图,生成文字或图像水印图
C# (winform) 图片缩略图的显示与缩略图另行保存功能
【C#】C#缩略图,C#水印 C#语言基础 【实例简介】C#缩略图,C#水印 C#生成缩略图,C#缩略图,C#水印 很不错的 【核心代码】 文件清单 └── SarmtImage ├── App_Code │ └── SarmtImage.cs ├── App_Data ...
C#把Word和Excel生成缩略图示例代码-附带Aspose.Cells和Aspose.Words插件 使用 Aspose.Cells 生成Excel缩略图 使用 Aspose.Words 生成Word缩略图 项目中 bin目录下的 Aspose.Cells.dll 和 Aspose.Words.dll 是可...