.net程序获得图片的高度宽度和类型
2014-10-24 15:09:48 访问(3339) 赞(0) 踩(0)
程序代码:
/// <summary>
/// 获得图片的属性
/// </summary>
/// <param name="imageFileName"></param>
/// <returns></returns>
public static ImageAttribute GetImageAttribute
(
string imageFileName
)
{
if (imageFileName == null || imageFileName.Length == 0)
{
new Exception("string imageFileName 为空。");
}
FileInfo info = new FileInfo(imageFileName);
if(!info.Exists)
new Exception(imageFileName + " 文件不存在。");
string strExt = info.Extension;
if(strExt == null||strExt.Length == 0)
new Exception(imageFileName + " 后缀不是图片格式");
strExt = strExt.Trim().ToLower();
SlowX.Functions.Enums.ImageExt.EmImageExt[]
emA
=
Enums.ImageExt.EmArray;
bool isFind = false;
SlowX.Functions.Enums.ImageExt.EmImageExt
EmImageExtValue
=
Enums.ImageExt.EmImageExt.JPEG;
foreach (SlowX.Functions.Enums.ImageExt.EmImageExt em in emA)
{
if (strExt == "." + em.ToString().ToLower())
{
EmImageExtValue = em;
isFind = true;
break;
}
}
if(!isFind)
new Exception( imageFileName + " 后缀不是图片格式");
System.Drawing.Image img
=
System.Drawing.Image.FromFile(imageFileName);
int iW = img.Width;
int iH = img.Height;
// 销毁图片资源,避免io锁 //
img.Dispose();
return new ImageAttribute(iW, iH, EmImageExtValue);
}
枚举定义:
#region Enum
/// <summary>
/// 图片后缀类型
/// </summary>
public enum EmImageExt
{
/// <summary>
/// JPG
/// </summary>
JPG = 1,
/// <summary>
/// JPEG
/// </summary>
JPEG,
/// <summary>
/// PNG
/// </summary>
PNG,
/// <summary>
/// GIF
/// </summary>
GIF,
/// <summary>
/// BMP
/// </summary>
BMP,
/// <summary>
/// PSD
/// </summary>
PSD,
/// <summary>
/// TIF
/// </summary>
TIF
}
#endregion Enum
/// <summary>
/// 数组
/// </summary>
public readonly static EmImageExt[] EmArray = new EmImageExt[]
{
EmImageExt.JPG,
EmImageExt.JPEG,
EmImageExt.PNG,
EmImageExt.GIF,
EmImageExt.BMP,
EmImageExt.PSD,
EmImageExt.TIF
};
WidthHeightClass:
/// <summary>
/// 宽和高的结构
/// </summary>
[Serializable]
public class WidthHeightClass
{
/// <summary>
/// 宽和高的结构
/// </summary>
public WidthHeightClass()
{
}
/// <summary>
/// 宽和高的结构
/// </summary>
/// <param name="_Width"></param>
/// <param name="_Height"></param>
public WidthHeightClass(int _Width, int _Height)
{
m_Width = _Width;
m_Height = _Height;
}
/// <summary>
/// 宽
/// </summary>
protected int m_Width = 0;
/// <summary>
/// 宽
/// </summary>
public int Width
{
get
{
return m_Width;
}
set
{
m_Width = value;
}
}
/// <summary>
/// 高
/// </summary>
protected int m_Height = 0;
/// <summary>
/// 高
/// </summary>
public int Height
{
get
{
return m_Height;
}
set
{
m_Height = value;
}
}
}
ImageAttribute:
/// <summary>
/// 图片属性
/// </summary>
[Serializable]
public class ImageAttribute
:
WidthHeightClass
{
/// <summary>
/// 图片属性
/// </summary>
public ImageAttribute()
{
}
/// <summary>
/// 图片属性
/// </summary>
/// <param name="_Width"></param>
/// <param name="_Height"></param>
/// <param name="_EmImageExtValue"></param>
public ImageAttribute
(
int _Width,
int _Height,
SlowX.Functions.Enums.ImageExt.EmImageExt _EmImageExtValue
)
:
base(_Width,_Height)
{
m_EmImageExtValue = _EmImageExtValue;
}
/// <summary>
/// 图片类型
/// </summary>
protected SlowX.Functions.Enums.ImageExt.EmImageExt m_EmImageExtValue = Enums.ImageExt.EmImageExt.JPEG;
/// <summary>
/// 图片类型
/// </summary>
public SlowX.Functions.Enums.ImageExt.EmImageExt EmImageExtValue
{
get
{
return m_EmImageExtValue;
}
set
{
m_EmImageExtValue = value;
}
}
}
标签:
获得图片属性 


图片高度 


图片宽度 


图片类型 


上一条:
下一条:
相关评论
发表评论