c#生成图片缩略图或按比例压缩图片
2014-03-05 14:30
369 查看
有4个重载方法,有直接返回Image对象的,有生成缩略图,并且保存到指定目录的!
using System.IO;
using System.Drawing;
using System.Drawing.Imaging;
///
/// 图片处理类
/// 1、生成缩略图片或按照比例改变图片的大小和画质
/// 2、将生成的缩略图放到指定的目录下
///
public class ImageClass
{
public Image
ResourceImage;
private int
ImageWidth;
private int
ImageHeight;
public string
ErrMessage;
///
/// 类的构造函数
///
///
图片文件的全路径名称
public
ImageClass(string ImageFileName)
{
ResourceImage=Image.FromFile(ImageFileName);
ErrMessage="";
}
public bool
ThumbnailCallback()
{
return
false;
}
///
///
生成缩略图重载方法1,返回缩略图的Image对象
///
/// 缩略图的宽度
/// 缩略图的高度
///
缩略图的Image对象
public Image
GetReducedImage(int Width,int Height)
{
try
{
Image
ReducedImage;
Image.GetThumbnailImageAbort
callb=new Image.GetThumbnailImageAbort(ThumbnailCallback);
ReducedImage=ResourceImage.GetThumbnailImage(Width,Height,callb,IntPtr.Zero);
return
ReducedImage;
}
catch(Exception
e)
{
ErrMessage=e.Message;
return
null;
}
}
///
///
生成缩略图重载方法2,将缩略图文件保存到指定的路径
///
/// 缩略图的宽度
/// 缩略图的高度
///
缩略图保存的全文件名,(带路径),参数格式:D:\Images\filename.jpg
///
成功返回true,否则返回false
public bool
GetReducedImage(int Width,int Height,string targetFilePath)
{
try
{
Image
ReducedImage;
Image.GetThumbnailImageAbort
callb=new Image.GetThumbnailImageAbort(ThumbnailCallback);
ReducedImage=ResourceImage.GetThumbnailImage(Width,Height,callb,IntPtr.Zero);
ReducedImage.Save(@targetFilePath,ImageFormat.Jpeg);
ReducedImage.Dispose();
return
true;
}
catch(Exception
e)
{
ErrMessage=e.Message;
return
false;
}
}
///
///
生成缩略图重载方法3,返回缩略图的Image对象
///
/// 缩略图的宽度百分比
如:需要百分之80,就填0.8
///
缩略图的Image对象
public Image
GetReducedImage(double Percent)
{
try
{
Image
ReducedImage;
Image.GetThumbnailImageAbort callb=new
Image.GetThumbnailImageAbort(ThumbnailCallback);
ImageWidth=Convert.ToInt32(ResourceImage.Width*Percent);
ImageHeight=Convert.ToInt32(ResourceImage.Width*Percent);
ReducedImage=ResourceImage.GetThumbnailImage(ImageWidth,ImageHeight,callb,IntPtr.Zero);
return
ReducedImage;
}
catch(Exception
e)
{
ErrMessage=e.Message;
return
null;
}
}
///
///
生成缩略图重载方法4,返回缩略图的Image对象
///
/// 缩略图的宽度百分比
如:需要百分之80,就填0.8
///
缩略图保存的全文件名,(带路径),参数格式:D:\Images\filename.jpg
///
成功返回true,否则返回false
public bool
GetReducedImage(double Percent,string targetFilePath)
{
try
{
Image
ReducedImage;
Image.GetThumbnailImageAbort
callb=new Image.GetThumbnailImageAbort(ThumbnailCallback);
ImageWidth=Convert.ToInt32(ResourceImage.Width*Percent);
ImageHeight=Convert.ToInt32(ResourceImage.Width*Percent);
ReducedImage=ResourceImage.GetThumbnailImage(ImageWidth,ImageHeight,callb,IntPtr.Zero);
ReducedImage.Save(@targetFilePath,ImageFormat.Jpeg);
ReducedImage.Dispose();
return
true;
}
catch(Exception
e)
{
ErrMessage=e.Message;
return
false;
}
}
}
using System.IO;
using System.Drawing;
using System.Drawing.Imaging;
///
/// 图片处理类
/// 1、生成缩略图片或按照比例改变图片的大小和画质
/// 2、将生成的缩略图放到指定的目录下
///
public class ImageClass
{
public Image
ResourceImage;
private int
ImageWidth;
private int
ImageHeight;
public string
ErrMessage;
///
/// 类的构造函数
///
///
图片文件的全路径名称
public
ImageClass(string ImageFileName)
{
ResourceImage=Image.FromFile(ImageFileName);
ErrMessage="";
}
public bool
ThumbnailCallback()
{
return
false;
}
///
///
生成缩略图重载方法1,返回缩略图的Image对象
///
/// 缩略图的宽度
/// 缩略图的高度
///
缩略图的Image对象
public Image
GetReducedImage(int Width,int Height)
{
try
{
Image
ReducedImage;
Image.GetThumbnailImageAbort
callb=new Image.GetThumbnailImageAbort(ThumbnailCallback);
ReducedImage=ResourceImage.GetThumbnailImage(Width,Height,callb,IntPtr.Zero);
return
ReducedImage;
}
catch(Exception
e)
{
ErrMessage=e.Message;
return
null;
}
}
///
///
生成缩略图重载方法2,将缩略图文件保存到指定的路径
///
/// 缩略图的宽度
/// 缩略图的高度
///
缩略图保存的全文件名,(带路径),参数格式:D:\Images\filename.jpg
///
成功返回true,否则返回false
public bool
GetReducedImage(int Width,int Height,string targetFilePath)
{
try
{
Image
ReducedImage;
Image.GetThumbnailImageAbort
callb=new Image.GetThumbnailImageAbort(ThumbnailCallback);
ReducedImage=ResourceImage.GetThumbnailImage(Width,Height,callb,IntPtr.Zero);
ReducedImage.Save(@targetFilePath,ImageFormat.Jpeg);
ReducedImage.Dispose();
return
true;
}
catch(Exception
e)
{
ErrMessage=e.Message;
return
false;
}
}
///
///
生成缩略图重载方法3,返回缩略图的Image对象
///
/// 缩略图的宽度百分比
如:需要百分之80,就填0.8
///
缩略图的Image对象
public Image
GetReducedImage(double Percent)
{
try
{
Image
ReducedImage;
Image.GetThumbnailImageAbort callb=new
Image.GetThumbnailImageAbort(ThumbnailCallback);
ImageWidth=Convert.ToInt32(ResourceImage.Width*Percent);
ImageHeight=Convert.ToInt32(ResourceImage.Width*Percent);
ReducedImage=ResourceImage.GetThumbnailImage(ImageWidth,ImageHeight,callb,IntPtr.Zero);
return
ReducedImage;
}
catch(Exception
e)
{
ErrMessage=e.Message;
return
null;
}
}
///
///
生成缩略图重载方法4,返回缩略图的Image对象
///
/// 缩略图的宽度百分比
如:需要百分之80,就填0.8
///
缩略图保存的全文件名,(带路径),参数格式:D:\Images\filename.jpg
///
成功返回true,否则返回false
public bool
GetReducedImage(double Percent,string targetFilePath)
{
try
{
Image
ReducedImage;
Image.GetThumbnailImageAbort
callb=new Image.GetThumbnailImageAbort(ThumbnailCallback);
ImageWidth=Convert.ToInt32(ResourceImage.Width*Percent);
ImageHeight=Convert.ToInt32(ResourceImage.Width*Percent);
ReducedImage=ResourceImage.GetThumbnailImage(ImageWidth,ImageHeight,callb,IntPtr.Zero);
ReducedImage.Save(@targetFilePath,ImageFormat.Jpeg);
ReducedImage.Dispose();
return
true;
}
catch(Exception
e)
{
ErrMessage=e.Message;
return
false;
}
}
}
相关文章推荐
- C#中图片切割,图片压缩,缩略图的生成
- C#中图片切割,图片压缩,缩略图的生成
- C#上传图片并按比例生成缩略图
- C#中图片切割,图片压缩,缩略图的生成
- C#中图片切割,图片压缩,缩略图生成的代码
- C#中图片切割,图片压缩,缩略图生成的代码
- ASP.NET C# 按原图片大小等比例缩放生成缩略图
- asp.net(c#)上传图片生成缩略图
- 使用ASP.net(C#)批量上传图片并自动生成缩略图,文字水印图,图片水印图
- c#多图片上传并生成缩略图的实例代码
- 用于图片切割,图片压缩,缩略图的生成
- C#生成缩略图 等比例缩放
- 图片文件上传, 生成高质量缩略图 (asp.net c#)
- c# 添加图片水印,可以指定水印位置+生成缩略图[付上帅图1,2,3,4]
- 使用ASP.net(C#)批量上传图片并自动生成缩略图,文字水印图,图片水印图
- ASP.NET C# 按原图片大小缩放生成缩略图
- java生成缩略图,接收图片,按指定宽高或按比例生成缩略图
- C# 生成图片缩略图
- C#上传图片生成缩略图
- c# 添加图片水印,可以指定水印位置+生成缩略图