### Chukeh.IO 小诸葛 - 文件扩展操作类

CImageExif - 图片 Exif 信息读写方法类

- ##### CImageExif

  构造函数，创建新的图片 Exif 读取器
  用法：new CImageExif(string);
  参数 1：图片文件
  用法：new CImageExif(byte[]);
  参数 1：图片字节数组

- ##### ToString

  获取 Exif 文本
  用法：CImageExif.ToString();
  返回值：图片 Exif 文本

CImage - 图片扩展操作

- ##### PositionMode

  位置模式
  None 默认位置左上角
  TopLeft 左上角
  TopRight 右上角
  Middle 居中
  BottomLeft 左下角
  BottomRight 右下角

- ##### ResizeMode

  图片缩放模式
  Center 居中
  Stretch 平铺

- ##### RotateMode

  图片旋转模式
  TurnLeft 逆时针旋转
  TurnRight 顺时针旋转
  TurnVertical 垂直反转
  TurnHorizontal 水平反转

- ##### CutImage

  剪切图片
  用法：CImage.CutImage(byte[], int, int, int, int);
  参数 1：图片字节数组
  参数 2：上边距
  参数 3：左边距
  参数 4：宽度
  参数 5：高度
  返回值：byte[] 剪切后的图片字节数组
  用法：CImage.CutImage(string, int, int, PositionMode, string);
  参数 1：源图片
  参数 2：上边距
  参数 3：左边距
  参数 4：宽度
  参数 5：高度
  参数 6：目标图片

- ##### ZoomImage

  缩放图片
  用法：CImage.ZoomImage(byte[], double);
  参数 1：图片字节数组
  参数 2：缩放比例，当小于 10 时为缩放比例，当大于 10 时为约束尺寸
  返回值：byte[] 缩放后的图片字节数组
  用法：CImage.ZoomImage(string, double, string);
  参数 1：源图片
  参数 2：缩放比例，当小于 10 时为缩放比例，当大于 10 时为约束尺寸
  参数 3：目标图片

- ##### CenterImage

  填充图片
  用法：CImage.CenterImage(byte[], int, int, string, PositionMode);
  参数 1：图片字节数组
  参数 2：宽度
  参数 3：高度
  参数 4：画布背景
  参数 5：填充位置模式
  返回值：byte[] 填充后的图片字节数组
  用法：CImage.CenterImage(string, int, int, string, PositionMode, string);
  参数 1：源图片
  参数 2：宽度
  参数 3：高度
  参数 4：画布背景
  参数 5：填充位置模式
  参数 6：目标图片

- ##### RotateImage

  旋转图片
  用法：CImage.RotateImage(byte[], RotateMode);
  参数 1：图片字节数组
  参数 2：旋转模式
  返回值：byte[] 旋转后的图片字节数组
  用法：CImage.RotateImage(string, RotateMode, string);
  参数 1：源图片
  参数 2：旋转模式
  参数 3：目标图片

- ##### StretchImage

  平铺图片
  用法：CImage.RotateImage(byte[], int, int);
  参数 1：图片字节数组
  参数 2：宽度
  参数 3：高度
  返回值：byte[] 平铺后的图片字节数组
  用法：CImage.RotateImage(string, int, int, string);
  参数 1：源图片
  参数 2：宽度
  参数 3：高度
  参数 4：目标图片

- ##### ImageWatermark

  添加图片水印
  用法：CImage.ImageWatermark(byte[], byte[], int, PositionMode);
  参数 1：图片字节数组
  参数 2：水印图片字节数组
  参数 3：透明度（1~10）
  参数 4：水印位置
  返回值：byte[] 添加水印后的图片字节数组
  用法：CImage.ImageWatermark(string, byte[], int, PositionMode, string);
  参数 1：源图片
  参数 2：水印图片字节数组
  参数 3：透明度（1~10）
  参数 4：水印位置
  参数 5：目标图片

- ##### TextWatermark

  添加文字水印
  用法：CImage.TextWatermark(byte[], string, string, int, string, string, PositionMode);
  参数 1：图片字节数组
  参数 2：水印文字
  参数 3：水印字体
  参数 4：水印字号
  参数 5：水印前景色
  参数 6：水印阴影色
  参数 7：水印位置
  返回值：byte[] 添加水印后的图片字节数组
  用法：CImage.TextWatermark(string, string, string, int, string, string, PositionMode, string);
  参数 1：源图片
  参数 2：水印文字
  参数 3：水印字体
  参数 4：水印字号
  参数 5：水印前景色
  参数 6：水印阴影色
  参数 7：水印位置
  参数 8：目标图片

CFile - 文件路径扩展操作

- ##### GetExtension

  获取指定文件的后缀名
  用法：CFile.GetExtension(string);
  参数 1：文件路径
  返回值：string 后缀名，小写格式

- ##### GetPhysicalPath

  转换相对路径为实际路径
  用法：CFile.GetPhysicalPath(string);
  参数 1：相对路径
  返回值：string 实际路径
  用法：CFile.GetPhysicalPath(string, string);
  参数 1：相对路径 1
  参数 1：相对路径 2
  返回值：string 实际路径

- ##### GetGuidFilename

  根据指定后缀名生成一个不重复的文件名
  用法：CFile.GetGuidFilename(string);
  参数 1：后缀名
  返回值：string 文件名

- ##### GetFolderFiles

  获取指定文件夹的全部文件
  用法：CFile.GetFolderFiles(string, string, ref string[]);
  参数 1：绝对路径
  参数 2：搜索条件 （例如：*.*）
  参数 3：获取文件名数组

- ##### GetFolderLentgh

  获取指定文件夹的大小
  用法：CFile.GetFolderLentgh(string, ref long);
  参数 1：绝对路径
  参数 2：获取文件夹大小

- ##### Delete

  删除文件/文件夹
  用法：CFile.Delete(string);
  参数 1：文件或文件夹路径

- ##### GetPathState

  获取指定路径权限状态
  用法：CFile.GetPathState(string);
  参数 1：绝对路径
  返回值：Data.IResult 权限信息

CXml - XML文件扩展操作

- ##### Namespace

  获取/设置XML文件的命名空间
  用法：CXml.Namespace = string;

- ##### CXml

  构造函数
  用法：CXml _CXml = new CXml();
  返回值：返回 Web.config 的读写器
  用法：CXml _CXml = new CXml(string);
  参数 1：XML 文件绝对路径
  返回值：返回参数 1 文件的读写器

- ##### GetNodeAttributeValue

  获取 XML 文件中指定节点的值
  用法：_CXml.GetNodeAttributeValue(string, string);
  参数 1：节点路径
  参数 2：节点属性
  返回值：string 节点值

- ##### SetNodeAttributeValue

  设置 XML 文件中指定节点的值
  用法：_CXml.SetNodeAttributeValue(string, string, string);
  参数 1：节点路径
  参数 2：节点属性
  参数 3：节点值

- ##### AddNode

  为 XML 文件添加节点
  用法：_CXml.AddNode(string, string);
  参数 1：节点路径
  参数 2：节点名称

CLog - 日志操作

- ##### AppendLine

  插入日志行
  用法：CLog.AppendLine(string, string);
  参数 1：操作类型
  参数 2：操作说明
  用法：CLog.AppendLine(string, string, string);
  参数 1：日志路径
  参数 2：操作类型
  参数 3：操作说明