|
|
Posted on
2004-11-08 08:56
冷风.net
阅读( 471)
评论()
收藏
举报
//*************************************************************************************************
//完成日期: 2004-11-5
//作者: 何利民
//程序功能: 對圖片進行壓縮
//*************************************************************************************************
using System;
using System.Drawing;
using System.Drawing.Text;
using System.Drawing.Imaging;

namespace ImagesSpaceName
  {

public class ScanleImage : ImagesClass
 {

 定義類變量#region 定義類變量

private int _imgWidth = 120; //圖片的寬度
private int _imgHeight = 120; //圖片的高度
private Image _waterImage = null; //壓縮圖片
private string _fileName = null; //圖片要保存的文件名

#endregion

 初使化構造函數#region 初使化構造函數
public ScanleImage()
 {
}
#endregion

 對圖片進行壓縮#region 對圖片進行壓縮

 /**//// <summary>
/// 生成壓縮圖主程序
/// </summary>
private void ScanleMain()
 {
MakeScanle();
if(_fileName==null)
 {
SaveImage(_waterImage,ImageFormat.Jpeg);
}
else
 {
SaveImage(_waterImage,GetFileFromat(GetFile_Ext(_fileName)),_fileName);
}
}

 /**//// <param name="imgFile">要壓縮的圖片名</param>
/// <param name="iWidth">圖片寬度</param>
/// <param name="iHeight">圖片高度</param>
public void ScanleImg(string imgFile, int iWidth, int iHeight)
 {
_waterImage = Image.FromFile(imgFile);
_imgWidth = iWidth;
_imgHeight = iHeight;
ScanleMain();
}

 /**//// <param name="fromFile">要壓縮的圖片名</param>
/// <param name="toFile">壓縮後要保存的圖片名</param>
/// <param name="iWidth">圖片寬度</param>
/// <param name="iHeight">圖片高度</param>
public void ScanleImg(string fromFile, string toFile, int iWidth, int iHeight)
 {
_waterImage = Image.FromFile(fromFile);
_fileName = toFile;
_imgWidth = iWidth;
_imgHeight = iHeight;
ScanleMain();
}

 /**//// <param name="stream">要壓縮的圖片緩沖塊</param>
/// <param name="iWidth">圖片寬度</param>
/// <param name="iHeight">圖片高度</param>
public void ScanleImg(System.IO.Stream stream, int iWidth, int iHeight)
 {
_waterImage = Image.FromStream(stream);
_imgWidth = iWidth;
_imgHeight = iHeight;
ScanleMain();
}

 /**//// <param name="stream">要壓縮的圖片緩沖塊</param>
/// <param name="fileName">壓縮後要保存的圖片名</param>
/// <param name="iWidth">圖片寬度</param>
/// <param name="iHeight">圖片高度</param>
public void ScanleImg(System.IO.Stream stream, string fileName, int iWidth, int iHeight)
 {
_waterImage = Image.FromStream(stream);
_fileName = fileName;
_imgWidth = iWidth;
_imgHeight = iHeight;
ScanleMain();
}

 /**//// <param name="stream">要壓縮的圖片對象</param>
/// <param name="iWidth">圖片寬度</param>
/// <param name="iHeight">圖片高度</param>
public Image ScanleImg(Image image, int iWidth, int iHeight)
 {
_waterImage = image;
_imgWidth = iWidth;
_imgHeight = iHeight;
MakeScanle();
return _waterImage;
}

 /**//// <summary>
/// 生成壓縮圖
/// </summary>
private void MakeScanle()
 {
_waterImage = _waterImage.GetThumbnailImage(_imgWidth,_imgHeight,null,System.IntPtr.Zero);
}

#endregion
}
}
|